home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CUCD / Online / RFCs / rfc / rfc2297.txt < prev    next >
Encoding:
Text File  |  1998-04-02  |  273.9 KB  |  6,108 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                    P. Newman, Nokia
  8. Request for Comments: 2297                             W. Edwards, Sprint
  9. Updates: 1987                                            R. Hinden, Nokia
  10. Category: Informational                                 E. Hoffman, Nokia
  11.                                                             F. Ching Liaw
  12.                                                            T. Lyon, Nokia
  13.                                                    G. Minshall, Fiberlane
  14.                                                                March 1998
  15.  
  16.  
  17.        Ipsilon's General Switch Management Protocol Specification
  18.                               Version 2.0
  19.  
  20. Status of this Memo
  21.  
  22.    This memo provides information for the Internet community.  It does
  23.    not specify an Internet standard of any kind.  Distribution of this
  24.    memo is unlimited.
  25.  
  26. Copyright Notice
  27.  
  28.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  29.  
  30.  
  31. Abstract
  32.  
  33.    This memo specifies enhancements to the  General Switch Management
  34.    Protocol (GSMP) [RFC1987]. The major enhancement is the addition of
  35.    Quality of Service (QoS) messages. Other improvements have been made
  36.    to the protocol resulting from operational experience. GSMP is a
  37.    general purpose protocol to control an ATM switch. It allows a
  38.    controller to establish and release connections across the switch;
  39.    add and delete leaves on a multicast connection; manage switch ports;
  40.    request configuration information; and request statistics.
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Newman, et. al.              Informational                      [Page 1]
  59.  
  60. RFC 2297          Ipsilon's General Switch Management         March 1998
  61.  
  62.  
  63. Table of Contents
  64.  
  65.    1. Introduction....................................................3
  66.  
  67.    2. GSMP Packet Encapsulation.......................................4
  68.       2.1 ATM Encapsulation...........................................4
  69.       2.2 Ethernet Encapsulation......................................6
  70.  
  71.    3. Common Definitions and Procedures...............................7
  72.       3.1 GSMP Packet Format..........................................8
  73.       3.2 Failure Response Messages..................................11
  74.  
  75.    4. Connection Management Messages.................................16
  76.       4.1 Add Branch Message.........................................21
  77.       4.2 Delete Tree Message........................................23
  78.       4.3 Verify Tree Message........................................24
  79.       4.4 Delete All Message.........................................24
  80.       4.5 Delete Branches Message....................................25
  81.       4.6 Move Branch Message........................................27
  82.  
  83.    5. Port Management Messages.......................................29
  84.       5.1 Port Management Message....................................29
  85.       5.2 Label Range Message........................................34
  86.  
  87.    6. State and Statistics Messages..................................37
  88.       6.1 Connection Activity Message................................38
  89.       6.2 Statistics Messages........................................40
  90.           6.2.1 Port Statistics Message..............................44
  91.           6.2.2 Connection Statistics Message........................44
  92.           6.2.3 QoS Class Statistics Message.........................44
  93.       6.3 Report Connection State Message............................45
  94.  
  95.    7. Configuration Messages.........................................49
  96.       7.1 Switch Configuration Message...............................50
  97.       7.2 Port Configuration Message.................................51
  98.       7.3 All Ports Configuration Message............................57
  99.  
  100.    8. Event Messages.................................................59
  101.       8.1 Port Up Message............................................60
  102.       8.2 Port Down Message..........................................60
  103.       8.3 Invalid VPI/VCI Message....................................61
  104.       8.4 New Port Message...........................................61
  105.       8.5 Dead Port Message..........................................61
  106.  
  107.    9. Quality of Service Messages....................................61
  108.       9.1 Abstract Switch Model......................................62
  109.       9.2 QoS Configuration Message..................................66
  110.       9.3 Scheduler Establishment Message............................74
  111.  
  112.  
  113.  
  114. Newman, et. al.              Informational                      [Page 2]
  115.  
  116. RFC 2297          Ipsilon's General Switch Management         March 1998
  117.  
  118.  
  119.       9.4 QoS Class Establishment Message............................78
  120.       9.5 QoS Release Message........................................85
  121.       9.6 QoS Connection Management Message..........................86
  122.       9.7 QoS Failure Response Codes.................................97
  123.  
  124.    10. Adjacency Protocol............................................97
  125.       10.1 Packet Format.............................................98
  126.       10.2 Procedure.................................................101
  127.       10.3 Loss of Synchronization...................................103
  128.  
  129.    11. Summary of Failure Response Codes.............................104
  130.  
  131.    12. Summary of Message Set........................................105
  132.  
  133.    References........................................................107
  134.    Security Considerations...........................................107
  135.    Authors' Addresses................................................107
  136.    Full Copyright Statement..........................................109
  137.  
  138.  
  139.  
  140. 1. Introduction
  141.  
  142.    The General Switch Management Protocol (GSMP), is a general purpose
  143.    protocol to control an ATM switch. GSMP allows a controller to
  144.    establish and release connections across the switch; add and delete
  145.    leaves on a multicast connection; manage switch ports; request
  146.    configuration information; and request statistics. It also allows the
  147.    switch to inform the controller of asynchronous events such as a link
  148.    going down. GSMP runs across an ATM link connecting the controller to
  149.    the switch, on a control connection (virtual channel) established at
  150.    initialization. GSMP operation across an Ethernet link is also
  151.    specified. The GSMP protocol is asymmetric, the controller being the
  152.    master and the switch being the slave. Multiple switches may be
  153.    controlled by a single controller using multiple instantiations of
  154.    the protocol over separate control connections.
  155.  
  156.    A switch is assumed to contain multiple "ports". Each port is a
  157.    combination of one "input port" and one "output port". Some GSMP
  158.    requests refer to the port as a whole whereas other requests are
  159.    specific to the input port or the output port.  ATM cells arrive at
  160.    the switch from an external communication link on incoming virtual
  161.    paths or virtual channels at an input port. ATM cells depart from the
  162.    switch to an external communication link on outgoing virtual paths or
  163.    virtual channels from an output port. Virtual paths on a port or link
  164.    are referenced by their virtual path identifier (VPI). Virtual
  165.    channels on a port or link are referenced by their virtual path and
  166.    virtual channel identifiers (VPI/VCI).
  167.  
  168.  
  169.  
  170. Newman, et. al.              Informational                      [Page 3]
  171.  
  172. RFC 2297          Ipsilon's General Switch Management         March 1998
  173.  
  174.  
  175.    A virtual channel connection across a switch is formed by connecting
  176.    an incoming virtual channel to one or more outgoing virtual channels.
  177.    Virtual channel connections are referenced by the input port on which
  178.    they arrive and the virtual path and virtual channel identifiers
  179.    (VPI/VCI) of their incoming virtual channel. A virtual path
  180.    connection across a switch is formed by connecting an incoming
  181.    virtual path to one or more outgoing virtual paths. Virtual path
  182.    connections are referenced by the input port on which they arrive and
  183.    their virtual path identifier (VPI).  In a virtual path connection
  184.    the value of the VCI in each cell on that, connection is not used by
  185.    the switch and remains unchanged by the switch.
  186.  
  187.    GSMP supports point-to-point and point-to-multipoint connections. A
  188.    multipoint-to-point connection is specified by establishing multiple
  189.    point-to-point connections each of them specifying the same output
  190.    branch. A multipoint-to-multipoint connection is specified by
  191.    establishing multiple point-to-multipoint trees each of them
  192.    specifying the same output branches.
  193.  
  194.    In general a virtual channel is established with a certain quality of
  195.    service (QoS). A rich set of QoS messages is introduced in this
  196.    version of the protocol. However, implementation or operation of GSMP
  197.    without any of the messages defined in Section 9, "Quality of service
  198.    messages," is permitted.  In this case each virtual channel
  199.    connection or virtual path connection may be assigned a priority when
  200.    it is established. It may be assumed that for virtual connections
  201.    that share the same output port, an ATM cell on a connection with a
  202.    higher priority is much more likely to exit the switch before an ATM
  203.    cell on a connection with a lower priority if they are both in the
  204.    switch at the same time. The number of priorities that each port of
  205.    the switch supports may be obtained from the port configuration
  206.    message.
  207.  
  208.    GSMP contains an adjacency protocol. The adjacency protocol is used
  209.    to synchronize state across the link, to negotiate which version of
  210.    the GSMP protocol to use, to discover the identity of the entity at
  211.    the other end of a link, and to detect when it changes.
  212.  
  213.  
  214. 2. GSMP Packet Encapsulation
  215.  
  216. 2.1 ATM Encapsulation
  217.  
  218.    GSMP packets are variable length and for an ATM data link layer they
  219.    are encapsulated directly in an AAL-5 CPCS-PDU [I.363] with an
  220.    LLC/SNAP header as illustrated:
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Newman, et. al.              Informational                      [Page 4]
  227.  
  228. RFC 2297          Ipsilon's General Switch Management         March 1998
  229.  
  230.  
  231.     0                   1                   2                   3
  232.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  233.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  234.    |               LLC (0xAA-AA-03)                |               |
  235.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               +
  236.    |                   SNAP (0x00-00-00-88-0C)                     |
  237.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  238.    |                                                               |
  239.    ~                         GSMP Message                          ~
  240.    |                                                               |
  241.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  242.    |                     Pad (0 - 47 octets)                       |
  243.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  244.    |                                                               |
  245.    +               AAL-5 CPCS-PDU Trailer (8 octets)               +
  246.    |                                                               |
  247.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  248.  
  249.    (The convention in the documentation of Internet Protocols [RFC1700]
  250.    is to express numbers in decimal. Numbers in hexadecimal format are
  251.    specified by prefacing them with the characters "0x".  Data is
  252.    pictured in "big-endian" order. That is, fields are described left to
  253.    right, with the most significant octet on the left and the least
  254.    significant octet on the right. Whenever a diagram shows a group of
  255.    octets, the order of transmission of those octets is the normal order
  256.    in which they are read in English. Whenever an octet represents a
  257.    numeric quantity the left most bit in the diagram is the high order
  258.    or most significant bit. That is, the bit labeled 0 is the most
  259.    significant bit. Similarly, whenever a multi-octet field represents a
  260.    numeric quantity the left most bit of the whole field is the most
  261.    significant bit. When a multi-octet quantity is transmitted, the most
  262.    significant octet is transmitted first. This is the same coding
  263.    convention as is used in the ATM layer [I.361] and AAL-5 [I.363].)
  264.  
  265.    The LLC/SNAP header contains the octets: 0xAA 0xAA 0x03 0x00 0x00
  266.    0x00 0x88 0x0C. (0x880C is the assigned Ethertype for GSMP.)
  267.  
  268.    The maximum transmission unit (MTU) of the GSMP Message field is 1492
  269.    octets.
  270.  
  271.    The virtual channel over which a GSMP session is established between
  272.    a controller and the switch it is controlling is called the GSMP
  273.    control channel.  The default VPI and VCI of the GSMP control channel
  274.    for LLC/SNAP encapsulated GSMP messages on an ATM data link layer is:
  275.  
  276.       VPI = 0
  277.       VCI = 15.
  278.  
  279.  
  280.  
  281.  
  282. Newman, et. al.              Informational                      [Page 5]
  283.  
  284. RFC 2297          Ipsilon's General Switch Management         March 1998
  285.  
  286.  
  287. 2.2 Ethernet Encapsulation
  288.  
  289.    GSMP packets may be encapsulated on an Ethernet data link as
  290.    illustrated:
  291.  
  292.     0                   1                   2                   3
  293.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  294.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  295.    |                      Destination Address                      |
  296.    |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  297.    |                               |                               |
  298.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  299.    |                         Source Address                        |
  300.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  301.    |     Ethertype (0x88-0C)       |                               |
  302.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  303.    |                                                               |
  304.    ~                         GSMP Message                          ~
  305.    |                                                               |
  306.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  307.    |                        Sender Instance                        |
  308.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  309.    |                       Receiver Instance                       |
  310.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  311.    |                              Pad                              |
  312.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  313.    |                       Frame Check Sequence                    |
  314.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  315.  
  316.    Destination Address
  317.              For the SYN message of the adjacency protocol the
  318.              Destination Address is the broadcast address
  319.              0xFFFFFFFFFFFF. (Alternatively, it is also valid to
  320.              configure the node with the unicast 48-bit IEEE MAC address
  321.              of the destination. In this case the configured unicast
  322.              Destination Address is used in the SYN message.) For all
  323.              other messages the Destination Address is the unicast 48-
  324.              bit IEEE MAC address of the destination. This address may
  325.              be discovered from the Source Address field of messages
  326.              received during synchronization of the adjacency protocol.
  327.  
  328.    Source Address
  329.              For all messages the Source Address is the 48-bit IEEE MAC
  330.              address of the sender.
  331.  
  332.    Ethertype
  333.              The assigned Ethertype for GSMP is 0x880C.
  334.  
  335.  
  336.  
  337.  
  338. Newman, et. al.              Informational                      [Page 6]
  339.  
  340. RFC 2297          Ipsilon's General Switch Management         March 1998
  341.  
  342.  
  343.    GSMP Message
  344.              The maximum transmission unit (MTU) of the GSMP Message
  345.              field is 1492 octets.
  346.  
  347.    Sender Instance
  348.              The Sender Instance number for the link obtained from the
  349.              adjacency protocol.  This field is already present in the
  350.              adjacency protocol message. It is appended to all non-
  351.              adjacency GSMP messages in the Ethernet encapsulation to
  352.              offer additional protection against the introduction of
  353.              corrupt state.
  354.  
  355.    Receiver Instance
  356.              The Receiver Instance number is what the sender believes is
  357.              the current instance number for the link, allocated by the
  358.              entity at the far end of the link.  This field is already
  359.              present in the adjacency protocol message. It is appended
  360.              to all non-adjacency GSMP messages in the Ethernet
  361.              encapsulation to offer additional protection against the
  362.              introduction of corrupt state.
  363.  
  364.    Pad
  365.              The minimum length of the data field of an Ethernet packet
  366.              is 46 octets.  If necessary, padding should be added such
  367.              that it meets the minimum Ethernet frame size. This padding
  368.              should be octets of zero and it is not considered to be
  369.              part of the GSMP message.
  370.  
  371.    After the adjacency protocol has achieved synchronization, for every
  372.    GSMP message received with an Ethernet encapsulation, the receiver
  373.    must check the Source Address from the Ethernet MAC header, the
  374.    Sender Instance, and the Receiver Instance.  The incoming GSMP
  375.    message must be discarded if the Sender Instance and the Source
  376.    Address do not match the values of Sender Instance and Sender Name
  377.    stored by the "Update Peer Verifier" operation of the GSMP adjacency
  378.    protocol. The incoming GSMP message must also be discarded if it
  379.    arrives over any port other than the port over which the adjacency
  380.    protocol has achieved synchronization.  In addition, the incoming
  381.    message must also be discarded if the Receiver Instance field does
  382.    not match the current value for the Sender Instance of the GSMP
  383.    adjacency protocol.
  384.  
  385.  
  386. 3. Common Definitions and Procedures
  387.  
  388.    GSMP is a master-slave protocol. The controller issues request
  389.    messages to the switch. Each request message indicates whether a
  390.    response is required from the switch and contains a transaction
  391.  
  392.  
  393.  
  394. Newman, et. al.              Informational                      [Page 7]
  395.  
  396. RFC 2297          Ipsilon's General Switch Management         March 1998
  397.  
  398.  
  399.    identifier to enable the response to be associated with the request.
  400.    The switch replies with a response message indicating either a
  401.    successful result or a failure. There are five classes of GSMP
  402.    request-response message: Connection Management, Port Management,
  403.    State and Statistics, Configuration, and Quality of Service.  The
  404.    switch may also generate asynchronous Event messages to inform the
  405.    controller of asynchronous events.  Event messages are not
  406.    acknowledged by the controller. There is also an adjacency protocol
  407.    message used to establish synchronization across the link and
  408.    maintain a handshake.
  409.  
  410.    For the request-response messages, each message type has a format for
  411.    the request message and a format for the success response.  Unless
  412.    otherwise specified a failure response message is identical to the
  413.    request message that caused the failure, with the Code field
  414.    indicating the nature of the failure. Event messages have only a
  415.    single format defined as they are not acknowledged by the controller.
  416.  
  417.    Switch ports are described by a 32-bit port number. The switch
  418.    assigns port numbers and it may typically choose to structure the 32
  419.    bits into subfields that have meaning to the physical structure of
  420.    the switch (e.g. slot, port). In general, a port in the same physical
  421.    location on the switch will always have the same port number, even
  422.    across power cycles. The internal structure of the port number is
  423.    opaque to the GSMP protocol. However, for the purposes of network
  424.    management such as logging, port naming, and graphical
  425.    representation, a switch may declare the physical location (physical
  426.    slot and port) of each port. Alternatively, this information may be
  427.    obtained by looking up the product identity in a database.
  428.  
  429.    Each switch port also maintains a port session number assigned by the
  430.    switch. A message, with an incorrect port session number must be
  431.    rejected.  This allows the controller to detect a link failure and to
  432.    keep state synchronized.
  433.  
  434.    Except for the adjacency protocol message, no GSMP messages may be
  435.    sent across the link until the adjacency protocol has achieved
  436.    synchronization, and all GSMP messages received on a link that does
  437.    not currently have state synchronization must be discarded.
  438.  
  439. 3.1 GSMP Packet Format
  440.  
  441.    All GSMP messages, except the adjacency protocol message, have the
  442.    following format:
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Newman, et. al.              Informational                      [Page 8]
  451.  
  452. RFC 2297          Ipsilon's General Switch Management         March 1998
  453.  
  454.  
  455.     0                   1                   2                   3
  456.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  457.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  458.    |    Version    | Message Type  |    Result     |     Code      |
  459.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  460.    |                    Transaction Identifier                     |
  461.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  462.    |                                                               |
  463.    ~                          Message Body                         ~
  464.    |                                                               |
  465.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  466.  
  467.    Version
  468.              The version number of the GSMP protocol being used in this
  469.              session. It should be set by the sender of the message to
  470.              the GSMP protocol version negotiated by the adjacency
  471.              protocol.
  472.  
  473.    Message Type
  474.              The GSMP message type. GSMP messages fall into six classes:
  475.              Connection Management, Port Management, State and
  476.              Statistics, Configuration, Quality of Service, and Events.
  477.              Each class has a number of different message types. In
  478.              addition, one Message Type is allocated to the adjacency
  479.              protocol.
  480.  
  481.    Result
  482.              Field in a Connection Management request message, a Port
  483.              Management request message, or a Quality of Service request
  484.              message is used to indicate whether a response is required
  485.              to the request message if the outcome is successful. A
  486.              value of "NoSuccessAck" indicates that the request message
  487.              does not expect a response if the outcome is successful,
  488.              and a value of "AckAll" indicates that a response is
  489.              expected if the outcome is successful.  In both cases a
  490.              failure response must be generated if the request fails.
  491.              For Sate and Statistics, and Configuration request
  492.              messages, a value of "NoSuccessAck" in the request message
  493.              is ignored and the request message is handled as if the
  494.              field were set to "AckAll". (This facility was added to
  495.              reduce the control traffic in the case where the controller
  496.              periodically checks that the state in the switch is
  497.              correct. If the controller does not use this capability,
  498.              all request messages should be sent with a value of
  499.              "AckAll.")
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Newman, et. al.              Informational                      [Page 9]
  507.  
  508. RFC 2297          Ipsilon's General Switch Management         March 1998
  509.  
  510.  
  511.              In a response message the result field can have three
  512.              values: "Success," "More," and "Failure". The "Success" and
  513.              "More" results both indicate a success response. The "More"
  514.              result indicates that the success response exceeds the
  515.              maximum transmission unit of the data link and that one or
  516.              more further messages will be sent to complete the success
  517.              response. All messages that belong to the same success
  518.              response will have the same Transaction Identifier. The
  519.              "Success" result indicates a success response that may be
  520.              contained in a single message or the final message of a
  521.              success response spanning multiple messages.
  522.  
  523.              The encoding of the result field is:
  524.  
  525.                   NoSuccessAck:  Result = 1
  526.                   AckAll:        Result = 2
  527.                   Success:       Result = 3
  528.                   Failure:       Result = 4
  529.                   More:          Result = 5.
  530.  
  531.  
  532.              The Result field is not used in an adjacency protocol
  533.              message.
  534.  
  535.    Code
  536.              Field gives further information concerning the result in a
  537.              response message. It is mostly used to pass an error code
  538.              in a failure response but can also be used to give further
  539.              information in a success response message or an event
  540.              message. In a request message the code field is not used
  541.              and is set to zero. In an adjacency protocol message the
  542.              Code field is used to determine the function of the
  543.              message.
  544.  
  545.    Transaction Identifier
  546.              Used to associate a request message with its response
  547.              message. For request messages the controller may select any
  548.              transaction identifier. For response messages the
  549.              transaction identifier is set to the value of the
  550.              transaction identifier from the message to which it is a
  551.              response.  For event messages the transaction identifier
  552.              should be set to zero. The Transaction Identifier is not
  553.              used, and the field is not present, in the adjacency
  554.              protocol.
  555.  
  556.    The following fields are frequently found in GSMP messages. They are
  557.    defined here to avoid repetition.
  558.  
  559.  
  560.  
  561.  
  562. Newman, et. al.              Informational                     [Page 10]
  563.  
  564. RFC 2297          Ipsilon's General Switch Management         March 1998
  565.  
  566.  
  567.    Port
  568.              Gives the port number of the switch port to which the
  569.              message applies.
  570.  
  571.    Port Session Number
  572.              Each switch port maintains a Port Session Number assigned
  573.              by the switch. The port session number of a port remains
  574.              unchanged while the port is continuously in the Available
  575.              state and the link status is continuously Up. When a port
  576.              returns to the Available state after it has been
  577.              Unavailable or in any of the Loopback states, or when the
  578.              line status returns to the Up state after it has been Down
  579.              or in Test, or after a power cycle, a new Port Session
  580.              Number must be generated.  Port session numbers should be
  581.              assigned using some form of random number.
  582.  
  583.              If the Port Session Number in a request message does not
  584.              match the current Port Session Number for the specified
  585.              port, a failure response message must be returned with the
  586.              Code field indicating, "Invalid port session number."  The
  587.              current port session number for a port may be obtained
  588.              using a Port Configuration or an All Ports Configuration
  589.              message.
  590.  
  591.    Any field in a GSMP message that is unused or defined as "reserved"
  592.    must be set to zero by the sender and ignored by the receiver.
  593.  
  594.    It is not an error for a GSMP message to contain additional data
  595.    after the end of the Message Body. This is to support development and
  596.    experimental purposes. However, the maximum transmission unit of the
  597.    GSMP message, as defined by the data link layer encapsulation, must
  598.    not be exceeded.
  599.  
  600.    A success response message must not be sent until the requested
  601.    operation has been successfully completed.
  602.  
  603. 3.2 Failure Response Messages
  604.  
  605.    A failure response message is formed by returning the request message
  606.    that caused the failure with the Result field in the header
  607.    indicating failure (Result = 4) and the Code field giving the failure
  608.    code. The failure code specifies the reason for the switch being
  609.    unable to satisfy the request message.
  610.  
  611.    If the switch issues a failure response in reply to a request
  612.    message, no change should be made to the state of the switch as a
  613.    result of the message causing the failure. (For request messages that
  614.    contain multiple requests, such as the Delete Branches message, the
  615.  
  616.  
  617.  
  618. Newman, et. al.              Informational                     [Page 11]
  619.  
  620. RFC 2297          Ipsilon's General Switch Management         March 1998
  621.  
  622.  
  623.    failure response message will specify which requests were successful
  624.    and which failed. The successful requests may result in changed
  625.    state.)
  626.  
  627.    If the switch issues a failure response it must choose the most
  628.    specific failure code according to the following precedence:
  629.  
  630.        Invalid Message
  631.  
  632.        Failure specific to the particular message type (failure code
  633.            16). (The meaning of this failure is dependent upon the
  634.            particular message type and is specified in the text defining
  635.            the message.)
  636.  
  637.        A failure response specified in the text defining the message
  638.            type.
  639.  
  640.        Connection Failures
  641.  
  642.        Virtual Path Connection Failures
  643.  
  644.        Multicast Failures
  645.  
  646.        QoS Failures (QoS failures are specified in Section 9.7.)
  647.  
  648.        General Failures
  649.  
  650.    If multiple failures match in any of the following categories, the
  651.    one that is listed first should be returned. The following failure
  652.    response messages and failure codes are defined:
  653.  
  654.    Invalid Message
  655.  
  656.        3:  The specified request is not implemented on this switch.
  657.                The Message Type field specifies a message that is not
  658.                implemented on the switch or contains a value that is not
  659.                defined in the version of the protocol running in this
  660.                session of GSMP.
  661.  
  662.        5:  One or more of the specified ports does not exist.
  663.                At least one of the ports specified in the message is
  664.                invalid. A port is invalid if it does not exist or if it
  665.                has been removed from the switch.
  666.  
  667.        4:  Invalid Port Session Number.
  668.                The value given in the Port Session Number field does not
  669.                match the current Port Session Number for the specified
  670.                port.
  671.  
  672.  
  673.  
  674. Newman, et. al.              Informational                     [Page 12]
  675.  
  676. RFC 2297          Ipsilon's General Switch Management         March 1998
  677.  
  678.  
  679.    Connection Failures
  680.  
  681.        8:  The specified connection does not exist.
  682.                An operation that expects a connection to be specified,
  683.                either a virtual channel or a virtual path connection,
  684.                cannot locate the specified connection. A virtual channel
  685.                connection is specified by the input port, input VPI, and
  686.                input VCI on which it arrives. A virtual path connection
  687.                is specified by the input port and input VPI on which it
  688.                arrives.
  689.  
  690.        9:  The specified branch does not exist.
  691.                An operation that expects a branch of an existing
  692.                connection to be specified, either a virtual channel or a
  693.                virtual path connection, cannot locate the specified
  694.                branch.  A branch of a virtual channel connection is
  695.                specified by the virtual channel connection it belongs to
  696.                and the output port, output VPI, and output VCI on which
  697.                it departs. A branch of a virtual path connection is
  698.                specified by the virtual path connection it belongs to
  699.                and the output port and output VPI on which it departs.
  700.  
  701.        18: One or more of the specified input VPIs is invalid.
  702.  
  703.        19: One or more of the specified input VCIs is invalid.
  704.  
  705.        20: One or more of the specified output VPIs is invalid.
  706.  
  707.        21: One or more of the specified output VCIs is invalid.
  708.  
  709.        22: Invalid Class of Service field in a Connection Management
  710.                message.
  711.                The value of the Class of Service field is invalid.
  712.  
  713.        23: Insufficient resources for QoS Profile.
  714.                The resources requested by the QoS Profile in the Class
  715.                of service field are not available.
  716.  
  717.    Virtual Path Connections
  718.  
  719.        24: Virtual path switching is not supported on this input port.
  720.  
  721.        25: Point-to-multipoint virtual path connections are not
  722.                supported on either the requested input port or the
  723.                requested output port.
  724.                One or both of the requested input and output ports is
  725.                unable to support point-to-multipoint virtual path
  726.                connections.
  727.  
  728.  
  729.  
  730. Newman, et. al.              Informational                     [Page 13]
  731.  
  732. RFC 2297          Ipsilon's General Switch Management         March 1998
  733.  
  734.  
  735.        26: Attempt to add a virtual path connection branch to an
  736.                existing virtual channel connection.
  737.                It is invalid to mix branches switched as virtual channel
  738.                connections with branches switched as virtual path
  739.                connections on the same point-to-multipoint connection.
  740.  
  741.        27: Attempt to add a virtual channel connection branch to an
  742.                existing virtual path connection.
  743.                It is invalid to mix branches switched as virtual channel
  744.                connections with branches switched as virtual path
  745.                connections on the same point-to-multipoint connection.
  746.  
  747.    Multicast Failures
  748.  
  749.        10: A branch belonging to the specified point-to-multipoint
  750.                connection is already established on the specified output
  751.                port and the switch cannot support more than a single
  752.                branch of any point-to-multipoint connection on the same
  753.                output port.
  754.  
  755.        11: The limit on the maximum number of point-to-multipoint
  756.                connections that the switch can support has been reached.
  757.  
  758.        12: The limit on the maximum number of branches that the
  759.                specified point-to-multipoint connection can support has
  760.                been reached.
  761.  
  762.        17: Cannot label each output branch of a point-to-multipoint tree
  763.                with a different label.
  764.                Some early designs, and some low-cost ATM switch designs,
  765.                require all output branches of a multicast connection to
  766.                use the same value of VPI/VCI.
  767.  
  768.        28: Only point-to-point bidirectional connections may be
  769.                established.
  770.                It is an error to attempt to add an additional output
  771.                branch to an existing connection with the bidirectional
  772.                flag set.
  773.  
  774.        13: Unable to assign the requested VPI/VCI value to the requested
  775.                branch on the specified point-to-multipoint connection.
  776.                Although the requested VPI and VCI are valid, the switch
  777.                is unable to support the request using the specified
  778.                values of VPI and VCI for some reason not covered by the
  779.                above failure responses. This message implies that a
  780.                valid value of VPI or VCI exists that the switch could
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Newman, et. al.              Informational                     [Page 14]
  787.  
  788. RFC 2297          Ipsilon's General Switch Management         March 1998
  789.  
  790.  
  791.                support. For example, some switch designs restrict the
  792.                number of distinct VPI/VCI values available to a point-
  793.                to-multipoint connection. (Most switch designs will not
  794.                require this message.)
  795.  
  796.        14: General problem related to the manner in which point-to-
  797.                multipoint is supported by the switch.
  798.                Use this message if none of the more specific multicast
  799.                failure messages apply.  (Most switch designs will not
  800.                require this message.)
  801.  
  802.    General Failures
  803.  
  804.        2:  Invalid request message.
  805.                There is an error in one of the fields of the message not
  806.                covered by a more specific failure message.
  807.  
  808.        6:  One or more of the specified ports is down.
  809.                A port is down if its Port Status is Unavailable.
  810.                Connection Management, Connection State, Port Management,
  811.                and Configuration operations are permitted on a port that
  812.                is Unavailable. Connection Activity and Statistics
  813.                operations are not permitted on a port that is
  814.                Unavailable and will generate this failure response. A
  815.                Port Management message specifying a Take Down function
  816.                on a port already in the Unavailable state will also
  817.                generate this failure response.
  818.  
  819.        15: Out of resources.
  820.                The switch has exhausted a resource not covered by a more
  821.                specific failure message, for example, running out of
  822.                memory.
  823.  
  824.        1:  Unspecified reason not covered by other failure codes.
  825.                The failure message of last resort.
  826.  
  827.    The following failure response messages are only used by the Label
  828.                Range message.
  829.  
  830.        29: Cannot support requested VPI range.
  831.  
  832.        30: Cannot support requested VCI range on all requested VPIs.
  833.  
  834.    The following failure response messages are only used by the Set
  835.                Transmit Cell Rate function of the Port Management
  836.                message.
  837.  
  838.        31: The transmit cell rate of this output port cannot be changed.
  839.  
  840.  
  841.  
  842. Newman, et. al.              Informational                     [Page 15]
  843.  
  844. RFC 2297          Ipsilon's General Switch Management         March 1998
  845.  
  846.  
  847.        32: Requested transmit cell rate out of range for this output
  848.                port.
  849.  
  850.  
  851. 4. Connection Management Messages
  852.  
  853.    Connection management messages are used by the controller to
  854.    establish, delete, modify and verify virtual channel connections and
  855.    virtual path connections across the switch. The Add Branch, Delete
  856.    Tree, and Delete All connection management messages have the
  857.    following format for both request and response messages:
  858.  
  859.     0                   1                   2                   3
  860.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  861.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  862.    |    Version    | Message Type  |    Result     |     Code      |
  863.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  864.    |                    Transaction Identifier                     |
  865.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  866.    |                      Port Session Number                      |
  867.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  868.    |                          Input Port                           |
  869.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  870.    |M|Q|B|C|      Input VPI        |          Input VCI            |
  871.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  872.    |                          Output Port                          |
  873.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  874.    |x x x x|      Output VPI       |          Output VCI           |
  875.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  876.    |      Number of Branches       |       Class of Service        |
  877.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  878.  
  879.    Input Port
  880.              Identifies a switch input port.
  881.  
  882.    Flags
  883.  
  884.         M: Multicast
  885.              The Multicast flag is used as a hint for point-to-
  886.              multipoint connections in the Add Branch message. It is not
  887.              used in any other connection management messages and in
  888.              these messages it should be set to zero. If set, it
  889.              indicates that the virtual channel connection or the
  890.              virtual path connection is very likely to be a point-to-
  891.              multipoint connection. If zero, it indicates that this
  892.              connection is very likely to be a point-to-point connection
  893.              or is unknown.
  894.  
  895.  
  896.  
  897.  
  898. Newman, et. al.              Informational                     [Page 16]
  899.  
  900. RFC 2297          Ipsilon's General Switch Management         March 1998
  901.  
  902.  
  903.              The Multicast flag is only used in the Add Branch message
  904.              when establishing the first branch of a new connection. It
  905.              is not required to be set when establishing subsequent
  906.              branches of a point-to-multipoint connection and on such
  907.              connections it should be ignored by the receiver. (On
  908.              receipt of the second and subsequent Add Branch messages
  909.              the receiver knows that this is a point-to-multipoint
  910.              connection.) If it is known that this is the first branch
  911.              of a point-to-multipoint connection this flag should be
  912.              set. If it is unknown, or if it is known that the
  913.              connection is point-to-point this flag should be zero. The
  914.              use of this flag is not mandatory. It may be ignored by the
  915.              switch.  If unused the flag should be set to zero. Some
  916.              switches use a different data structure for point-to-
  917.              multipoint connections than for point-to-point connections.
  918.              This flag avoids the switch setting up a point-to-point
  919.              structure for the first branch of a point-to-multipoint
  920.              connection which must immediately be deleted and
  921.              reconfigured as point-to-multipoint when the second branch
  922.              is established.
  923.  
  924.         Q: QoS Profile
  925.              The QoS Profile flag, if set, indicates that the Class of
  926.              Service field contains a QoS Profile Identifier.  If this
  927.              flag is zero, it indicates that the Class of Service field
  928.              contains a Priority or a Scheduler Identifier.
  929.  
  930.         B: Bidirectional
  931.              The Bidirectional flag applies only to the Add Branch
  932.              message. In all other Connection Management messages it is
  933.              not used. It may only be used when establishing a point-
  934.              to-point connection.  The Bidirectional flag in an Add
  935.              Branch message, if set, requests that two unidirectional
  936.              virtual channels or virtual paths be established, one in
  937.              the forward direction, and one in the reverse direction. It
  938.              is equivalent to two Add Branch messages, one specifying
  939.              the forward direction, and one specifying the reverse
  940.              direction. The forward direction uses the values of Input
  941.              Port, Input VPI, Input VCI, Output Port, Output VPI, and
  942.              Output VCI as specified in the Add Branch message. The
  943.              reverse direction is derived by exchanging the values
  944.              specified in the Input Port, Input VPI, and Input VCI
  945.              fields, with those of the Output Port, Output VPI, and
  946.              Output VCI fields respectively. Thus, a virtual connection
  947.              in the reverse direction arrives at the input port
  948.              specified by the Output Port field, on the VPI/VCI
  949.              specified by the Output VPI and Output VCI fields. It
  950.              departs from the output port specified by the Input Port
  951.  
  952.  
  953.  
  954. Newman, et. al.              Informational                     [Page 17]
  955.  
  956. RFC 2297          Ipsilon's General Switch Management         March 1998
  957.  
  958.  
  959.              field, on the VPI/VCI specified by the Input VPI and Input
  960.              VCI fields.
  961.  
  962.              The Bidirectional flag is simply a convenience to establish
  963.              two unidirectional virtual connections in opposite
  964.              directions between the same two ports, with identical
  965.              VPI/VCIs, using a single Add Branch message. In all future
  966.              messages the two unidirectional virtual connections must be
  967.              handled separately. There is no bidirectional delete
  968.              message. However, a single Delete Branches message with two
  969.              Delete Branch Elements, one for the forward connection and
  970.              one for the reverse, may be used.
  971.  
  972.         C: Congestion Indication
  973.              The Congestion Indication flag, if set, requests that cells
  974.              on this connection be marked if congestion is experienced.
  975.              If this connection passes through a queue that the switch
  976.              considers to be congested, the Congestion Experienced bit
  977.              will be set in the Payload Type field of the cell header of
  978.              all cells on the connection. GSMP does not specify the
  979.              algorithm or any threshold by which the switch decides when
  980.              a queue is congested.
  981.  
  982.    Input VPI
  983.              Identifies an ATM virtual path arriving at the switch input
  984.              port indicated by the Input Port field.
  985.  
  986.    Input VCI
  987.              Identifies an ATM virtual channel arriving on the virtual
  988.              path indicated by the Input VPI field at the switch input
  989.              port indicated by the Input Port field. For virtual path
  990.              connections the Input VCI field is not used.
  991.  
  992.    Output Port
  993.              Identifies a switch output port.
  994.  
  995.    x: Unused
  996.  
  997.    Output VPI
  998.              Identifies an outgoing virtual path departing from the
  999.              switch output port indicated in the Output Port field.
  1000.  
  1001.    Output VCI
  1002.              Identifies an outgoing virtual channel departing on the
  1003.              virtual path indicated by the Output VPI field from the
  1004.              switch output port indicated in the Output Port field. For
  1005.              virtual path connections the Output VCI field is not used.
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Newman, et. al.              Informational                     [Page 18]
  1011.  
  1012. RFC 2297          Ipsilon's General Switch Management         March 1998
  1013.  
  1014.  
  1015.    Number of Branches
  1016.              In a success response message and a failure response
  1017.              message, gives the number of output branches on a virtual
  1018.              channel connection or a virtual path connection after
  1019.              completion of the requested operation.  (A point-to-point
  1020.              connection will have one branch, a point-to-multipoint
  1021.              connection will have two or more branches.) If the switch
  1022.              is unable to keep track of the number of branches on a
  1023.              virtual path connection or a virtual channel connection it
  1024.              must respond with the value 0xFFFF meaning: "number of
  1025.              branches unknown".  This field is not used in the request
  1026.              message.
  1027.  
  1028.    Class of Service
  1029.              This field can contain either a QoS Profile Identifier, a
  1030.              Priority, or a Scheduler Identifier.  If the QoS Profile
  1031.              flag in the Flags field is set, the Class of Service field
  1032.              contains a QoS Profile.  If the QoS Profile flag in the
  1033.              Flags field is zero, and the value of the Class of Service
  1034.              field is greater than or equal to 0x100, the Class of
  1035.              Service field contains a Scheduler Identifier.  If the QoS
  1036.              Profile flag in the Flags field is zero, and the value of
  1037.              the Class of Service field is less than 0x100, the Class of
  1038.              Service field contains a Priority. (Values of Scheduler
  1039.              Identifier less than 0x100 are interpreted as priorities.)
  1040.              The Class of Service field is only used in the Add Branch
  1041.              and Move Branch messages.
  1042.  
  1043.              A QoS Profile Identifier is an opaque 16-bit value. It is
  1044.              used to identify a QoS profile in the switch which
  1045.              specifies the Quality of Service required by the
  1046.              connection. QoS profiles are established by a mechanism
  1047.              external to GSMP.
  1048.  
  1049.              A Scheduler Identifier is an alternative method of
  1050.              communicating the QoS requirements of a connection. The
  1051.              Scheduler Identifier is defined in Section 9, "Quality of
  1052.              Service Messages."
  1053.  
  1054.              A Priority specifies the priority of the connection for Add
  1055.              Branch and Move Branch messages that choose not to use a
  1056.              QoS profile, or the QoS capabilities defined in Section 9,
  1057.              "Quality of Service Messages." The highest priority is
  1058.              numbered zero and the lowest priority is numbered "Q-1"
  1059.              where "Q" is the number of priorities that the output port
  1060.              can support. The ability to offer different qualities of
  1061.              service to different connections based upon their priority
  1062.              is assumed to be a property of the output port of the
  1063.  
  1064.  
  1065.  
  1066. Newman, et. al.              Informational                     [Page 19]
  1067.  
  1068. RFC 2297          Ipsilon's General Switch Management         March 1998
  1069.  
  1070.  
  1071.              switch. It is assumed that for virtual path connections or
  1072.              virtual channel connections that share the same output
  1073.              port, an ATM cell on a connection with a higher priority is
  1074.              much more likely to exit the switch before an ATM cell on a
  1075.              connection with a lower priority, if they are both in the
  1076.              switch at the same time. The number of priorities that each
  1077.              output port can support is given in the Port Configuration
  1078.              message.
  1079.  
  1080.    For all connection management messages, except the Delete Branches
  1081.    message, the success response message is a copy of the request
  1082.    message returned with the Result field indicating success and the
  1083.    Number of Branches field indicating the number of branches on the
  1084.    connection after completion of the operation. The Code field is not
  1085.    used in a connection management success response message.
  1086.  
  1087.    The failure response message is a copy of the request message
  1088.    returned with a Result field indicating failure and the Number of
  1089.    Branches field indicating the number of branches on the connection.
  1090.  
  1091.    Fundamentally, no distinction is made between point-to-point and
  1092.    point-to-multipoint connections. By default, the first Add Branch
  1093.    message for a particular Input Port, Input VPI, and Input VCI will
  1094.    establish a point-to-point virtual connection.  The second Add Branch
  1095.    message with the same Input Port, Input VPI, and Input VCI fields
  1096.    will convert the connection to a point-to-multipoint virtual
  1097.    connection with two branches. (For virtual path connections the Input
  1098.    VCI is not required.) However, to avoid possible inefficiency with
  1099.    some switch designs, the Multicast Flag is provided. If the
  1100.    controller knows that a new connection is point-to-multipoint when
  1101.    establishing the first branch, it may indicate this in the Multicast
  1102.    Flag.  Subsequent Add Branch messages with the same Input Port, Input
  1103.    VPI, and Input VCI fields will add further branches to the point-to-
  1104.    multipoint connection. Use of the Delete Branch message on a point-
  1105.    to-multipoint connection with two branches will result in a point-
  1106.    to-point connection. However, the switch may structure this
  1107.    connection as a point-to-multipoint connection with a single output
  1108.    branch if it chooses. (For some switch designs this structure may be
  1109.    more convenient.) Use of the Delete Branch message on a point-to-
  1110.    point connection will delete the point-to-point connection. There is
  1111.    no concept of a connection with zero output branches. All connections
  1112.    are unidirectional, one input virtual path or virtual channel to one
  1113.    or more output virtual paths or virtual channels.
  1114.  
  1115.    GSMP supports point-to-point and point-to-multipoint connections. A
  1116.    multipoint-to-point connection is specified by establishing multiple
  1117.    point-to-point connections each of them specifying the same output
  1118.    branch.  (An output branch is specified by an output port and output
  1119.  
  1120.  
  1121.  
  1122. Newman, et. al.              Informational                     [Page 20]
  1123.  
  1124. RFC 2297          Ipsilon's General Switch Management         March 1998
  1125.  
  1126.  
  1127.    VPI for a virtual path connection and by an output port, output VPI,
  1128.    and output VCI for a virtual channel connection.) A multipoint-to-
  1129.    multipoint connection is specified by establishing multiple point-
  1130.    to-multipoint trees each of them specifying the same output branches.
  1131.  
  1132.    The connection management messages apply both to virtual channel
  1133.    connections and virtual path connections. The Add Branch and Move
  1134.    Branch connection management messages have two Message Types. One
  1135.    Message Type indicates that a virtual channel connection is required,
  1136.    and the other Message Type indicates that a virtual path connection
  1137.    is required. The Delete Branches, Delete Tree, and Delete All
  1138.    connection management messages have only a single Message Type
  1139.    because they do not need to distinguish between virtual channel
  1140.    connections and virtual path connections. For virtual path
  1141.    connections, neither Input VCI fields nor Output VCI fields are
  1142.    required. They should be set to zero by the sender and ignored by the
  1143.    receiver. Virtual channel branches may not be added to an existing
  1144.    virtual path connection.  Conversely, virtual path branches may not
  1145.    be added to an existing virtual channel connection.  In the Port
  1146.    Configuration message each switch input port may declare whether it
  1147.    is capable of supporting virtual path switching (i.e. accepting
  1148.    connection management messages requesting virtual path connections).
  1149.  
  1150.    The connection management messages may be issued regardless of the
  1151.    Port Status of the switch port. Connections may be established or
  1152.    deleted when a switch port is in the Available, Unavailable, or any
  1153.    of the Loopback states. However, all connection state on an input
  1154.    port will be deleted when the port returns to the Available state
  1155.    from any other state, i.e. when a Port Management message is received
  1156.    for that port with the Function field indicating either Bring Up, or
  1157.    Reset Input Port.
  1158.  
  1159. 4.1 Add Branch Message
  1160.  
  1161.    The Add Branch message is a connection management message used to
  1162.    establish a virtual channel connection or a virtual path connection
  1163.    or to add an additional branch to an existing virtual channel
  1164.    connection or virtual path connection. It may also be used to check
  1165.    the connection state stored in the switch. The connection is
  1166.    specified by the Input Port, Input VPI, and Input VCI fields. The
  1167.    output branch is specified by the Output Port, Output VPI, and Output
  1168.    VCI fields. The quality of service requirements of the connection are
  1169.    specified by the Class of Service field. To request a virtual channel
  1170.    connection the Virtual Channel Connection (VCC) Add Branch message
  1171.    is:
  1172.  
  1173.       Message Type = 16
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Newman, et. al.              Informational                     [Page 21]
  1179.  
  1180. RFC 2297          Ipsilon's General Switch Management         March 1998
  1181.  
  1182.  
  1183.    To request a virtual path connection the Virtual Path Connection
  1184.    (VPC) Add Branch message is:
  1185.  
  1186.       Message Type = 26
  1187.  
  1188.    If a VPC Add Branch message is received and the switch input port
  1189.    specified by the Input Port field does not support virtual path
  1190.    switching, a failure response message must be returned indicating,
  1191.    "Virtual path switching is not supported on this input port."
  1192.  
  1193.    If the virtual channel connection specified by the Input Port, Input
  1194.    VPI, and Input VCI fields; or the virtual path connection specified
  1195.    by the Input Port and Input VPI fields; does not already exist, it
  1196.    must be established with the single output branch specified in the
  1197.    request message. If the Bidirectional Flag in the Flags field is set,
  1198.    the reverse connection must also be established.  The output branch
  1199.    should have the QoS attributes specified by the Class of Service
  1200.    field.
  1201.  
  1202.    For the VCC Add Branch message, if a virtual path connection already
  1203.    exists on the virtual path specified by the Input Port and Input VPI
  1204.    fields, a failure response message must be returned indicating,
  1205.    "Attempt to add a virtual channel connection branch to an existing
  1206.    virtual path connection." For the VPC Add Branch message, if a
  1207.    virtual channel connection already exists on any of the virtual
  1208.    channels within the virtual path specified by the Input Port and
  1209.    Input VPI fields, a failure response message must be returned
  1210.    indicating, "Attempt to add a virtual path connection branch to an
  1211.    existing virtual channel connection."
  1212.  
  1213.    If the virtual channel connection specified by the Input Port, Input
  1214.    VPI, and Input VCI fields; or the virtual path connection specified
  1215.    by the Input Port and Input VPI fields; already exists, but the
  1216.    specified output branch does not, the new output branch must be
  1217.    added.  The new output branch should have the QoS attributes
  1218.    specified by the Class of Service field.
  1219.  
  1220.    If the virtual channel connection specified by the Input Port, Input
  1221.    VPI, and Input VCI fields; or the virtual path connection specified
  1222.    by the Input Port and Input VPI fields; already exists and the
  1223.    specified output branch also already exists, the QoS attributes of
  1224.    the connection, specified by the Class of Service field, if different
  1225.    from the request message, should be changed to that in the request
  1226.    message.  A success response message must be sent if the Result field
  1227.    of the request message is "AckAll".  This allows the controller to
  1228.    periodically reassert the state of a connection or to change its
  1229.    priority. If the result field of the request message is
  1230.    "NoSuccessAck" a success response message should not be returned.
  1231.  
  1232.  
  1233.  
  1234. Newman, et. al.              Informational                     [Page 22]
  1235.  
  1236. RFC 2297          Ipsilon's General Switch Management         March 1998
  1237.  
  1238.  
  1239.    This may be used to reduce the traffic on the control link for
  1240.    messages that are reasserting previously established state. For
  1241.    messages that are reasserting previously established state, the
  1242.    switch must always check that this state is correctly established in
  1243.    the switch hardware (i.e. the actual connection tables used to
  1244.    forward cells).
  1245.  
  1246.    If the output branch specified by the Output Port, Output VPI, and
  1247.    Output VCI fields for a virtual channel connection; or the output
  1248.    branch specified by the Output Port and Output VPI fields for a
  1249.    virtual path connection; is already in use by any connection other
  1250.    than that specified by the Input Port, Input VPI, and Input VCI
  1251.    fields, then the resulting output branch will have multiple input
  1252.    branches. If multiple point-to-point connections share the same
  1253.    output branch the result will be a multipoint-to-point connection. If
  1254.    multiple point-to-multipoint trees share the same output branches the
  1255.    result will be a multipoint-to-multipoint connection.
  1256.  
  1257.    If the virtual channel connection specified by the Input Port, Input
  1258.    VPI, and Input VCI fields, or the virtual path connection specified
  1259.    by the Input Port and Input VPI fields, already exists, and the
  1260.    Bidirectional Flag in the Flags field is set, a failure response must
  1261.    be returned indicating: "Only point-to-point bidirectional
  1262.    connections may be established."
  1263.  
  1264.    It should be noted that different switches support multicast in
  1265.    different ways. There will be a limit to the total number of point-
  1266.    to-multipoint connections any switch can support, and possibly a
  1267.    limit on the maximum number of branches that a point-to-multipoint
  1268.    connection may specify.  Some switches also impose a limit on the
  1269.    number of different VPI/VCI values that may be assigned to the output
  1270.    branches of a point-to-multipoint connection. Many switches are
  1271.    incapable of supporting more than a single branch of any particular
  1272.    point-to-multipoint connection on the same output port. Specific
  1273.    failure codes are defined for some of these conditions.
  1274.  
  1275. 4.2 Delete Tree Message
  1276.  
  1277.    The Delete Tree message is a connection management message used to
  1278.    delete an entire virtual channel connection or an entire virtual path
  1279.    connection. All remaining branches of the connection are deleted. A
  1280.    virtual channel connection is specified by the Input Port, Input VPI,
  1281.    and Input VCI fields. A virtual path connection is specified by the
  1282.    Input Port and Input VPI fields. The Output Port, Output VPI, and
  1283.    Output VCI fields are not used in this message. The Delete Tree
  1284.    message is:
  1285.  
  1286.       Message Type = 18
  1287.  
  1288.  
  1289.  
  1290. Newman, et. al.              Informational                     [Page 23]
  1291.  
  1292. RFC 2297          Ipsilon's General Switch Management         March 1998
  1293.  
  1294.  
  1295.    If the Result field of the request message is "AckAll" a success
  1296.    response message must be sent upon successful deletion of the
  1297.    specified connection. The success message must not be sent until the
  1298.    delete operation has been completed and if possible, not until all
  1299.    data on the connection, queued for transmission, has been
  1300.    transmitted. The Number of Branches field is not used in either the
  1301.    request or response messages of the Delete Tree message.
  1302.  
  1303. 4.3 Verify Tree Message
  1304.  
  1305.    The Verify Tree message has been removed from this version of GSMP.
  1306.    Its function has been replaced by the Number of Branches field in the
  1307.    success response to the Add Branch message which contains the number
  1308.    of branches on a virtual channel connection after successful
  1309.    completion of an add branch operation.
  1310.  
  1311.       Message Type = 19 is reserved.
  1312.  
  1313.    If a request message is received with Message Type = 19 a failure
  1314.    response must be returned with the Code field indicating: "The
  1315.    specified request is not implemented in this version of the
  1316.    protocol."
  1317.  
  1318. 4.4 Delete All Message
  1319.  
  1320.    The Delete All message is a connection management message used to
  1321.    delete all connections on a switch input port. All connections that
  1322.    arrive at the specified input port must be deleted. On completion of
  1323.    the operation all dynamically assigned VPI/VCI values for the
  1324.    specified port must be unassigned, i.e. there must be no virtual
  1325.    connections established in the VPI/VCI space that GSMP controls on
  1326.    this port. The Input VPI, Input VCI, Output Port, Output VPI, and
  1327.    Output VCI fields are not used in this message.  The Delete All
  1328.    message is:
  1329.  
  1330.       Message Type = 20
  1331.  
  1332.    If the Result field of the request message is "AckAll" a success
  1333.    response message must be sent upon completion of the operation. The
  1334.    Number of Branches field is not used in either the request or
  1335.    response messages of the Delete All message.  The success response
  1336.    message must not be sent until the operation has been completed.
  1337.  
  1338.    The following failure response messages may be returned to a Delete
  1339.    All request.
  1340.  
  1341.          The specified request is not implemented on this switch.
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Newman, et. al.              Informational                     [Page 24]
  1347.  
  1348. RFC 2297          Ipsilon's General Switch Management         March 1998
  1349.  
  1350.  
  1351.          One or more of the specified ports does not exist.
  1352.  
  1353.          Invalid Port Session Number.
  1354.  
  1355.    If any field in a Delete All message not covered by the above failure
  1356.    codes is invalid, a failure response must be returned indicating:
  1357.    "Invalid request message." Else, the delete all operation must be
  1358.    completed successfully and a success message returned. No other
  1359.    failure messages are permitted.
  1360.  
  1361. 4.5 Delete Branches Message
  1362.  
  1363.    The Delete Branches message is a connection management message used
  1364.    to request one or more delete branch operations. Each delete branch
  1365.    operation deletes a branch of a virtual channel connection or a
  1366.    virtual path connection, or in the case of the last branch of a
  1367.    connection, it deletes the connection. The Delete Branches message
  1368.    is:
  1369.  
  1370.       Message Type = 17
  1371.  
  1372.    The request message has the following format:
  1373.  
  1374.     0                   1                   2                   3
  1375.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1376.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1377.    |    Version    | Message Type  |    Result     |     Code      |
  1378.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1379.    |                    Transaction Identifier                     |
  1380.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1381.    |           Reserved            |      Number of Elements       |
  1382.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1383.    |                                                               |
  1384.    ~                    Delete Branch Elements                     ~
  1385.    |                                                               |
  1386.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1387.  
  1388.    Number of Elements
  1389.              Specifies the number of Delete Branch Elements to follow in
  1390.              the message. The number of Delete Branch Elements in a
  1391.              Delete Branches message must not cause the packet length to
  1392.              exceed the maximum transmission unit defined by the
  1393.              encapsulation.
  1394.  
  1395.    Each Delete Branch Element specifies an output branch to be deleted
  1396.    and has the following structure:
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Newman, et. al.              Informational                     [Page 25]
  1403.  
  1404. RFC 2297          Ipsilon's General Switch Management         March 1998
  1405.  
  1406.  
  1407.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1408.    |                      Port Session Number                      |
  1409.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1410.    |                          Input Port                           |
  1411.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1412.    | Error |      Input VPI        |          Input VCI            |
  1413.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1414.    |                          Output Port                          |
  1415.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1416.    |x x x x|      Output VPI       |          Output VCI           |
  1417.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1418.  
  1419.    Error
  1420.              Is used to return a failure code indicating the reason for
  1421.              the failure of a specific Delete Branch Element in a Delete
  1422.              Branches failure response message.  The Error field is not
  1423.              used in the request message and must be set to zero.  A
  1424.              value of zero is used to indicate that the delete operation
  1425.              specified by this Delete Branch Element was successful.
  1426.              Values for the other failure codes are specified in Section
  1427.              3.2, "Failure Response Messages."
  1428.  
  1429.              All other fields of the Delete Branch Element have the same
  1430.              definition as specified for the other connection management
  1431.              messages.
  1432.  
  1433.    In each Delete Branch Element, either a virtual channel connection is
  1434.    specified by the Input Port, Input VPI, and Input VCI fields; or a
  1435.    virtual path connection is specified by the Input Port and Input VPI
  1436.    fields. The specific branch to be deleted is indicated by the Output
  1437.    Port, Output VPI, and Output VCI fields for virtual channel
  1438.    connections and by the Output Port and Output VPI for virtual path
  1439.    connections.
  1440.  
  1441.    If the Result field of the Delete Branches request message is
  1442.    "AckAll" a success response message must be sent upon successful
  1443.    deletion of the branches specified by all of the Delete Branch
  1444.    Elements. The success response message must not be sent until all of
  1445.    the delete branch operations have been completed. The success
  1446.    response message is only sent if all of the requested delete branch
  1447.    operations were successful. No Delete Branch Elements are returned in
  1448.    a Delete Branches success response message and the Number of Elements
  1449.    field must be set to zero.
  1450.  
  1451.    If there is a failure in any of the Delete Branch Elements a Delete
  1452.    Branches failure response message must be returned. The Delete
  1453.    Branches failure response message is a copy of the request message
  1454.    with the Code field of the entire message set to, "Failure specific
  1455.  
  1456.  
  1457.  
  1458. Newman, et. al.              Informational                     [Page 26]
  1459.  
  1460. RFC 2297          Ipsilon's General Switch Management         March 1998
  1461.  
  1462.  
  1463.    to the particular message type," and the Error field of each Delete
  1464.    Branch Element indicating the result of each requested delete
  1465.    operation. A failure in any of the Delete Branch Elements must not
  1466.    interfere with the processing of any other Delete Branch Elements.
  1467.  
  1468. 4.6 Move Branch Message
  1469.  
  1470.    The Move Branch message is used to move a branch of an existing
  1471.    connection from its current output port VPI/VCI to a new output port
  1472.    VPI/VCI in a single atomic transaction. This operation occurs
  1473.    frequently in IP switching, every time a flow is switched from hop-
  1474.    by-hop forwarding to a dedicated virtual channel.  The Move Branch
  1475.    connection management message has the following format for both
  1476.    request and response messages:
  1477.  
  1478.     0                   1                   2                   3
  1479.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1480.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1481.    |    Version    | Message Type  |    Result     |     Code      |
  1482.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1483.    |                    Transaction Identifier                     |
  1484.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1485.    |                      Port Session Number                      |
  1486.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1487.    |                           Input Port                          |
  1488.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1489.    | Flags |        Input VPI      |           Input VCI           |
  1490.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1491.    |                        Old Output Port                        |
  1492.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1493.    |x x x x|    Old Output VPI     |        Old Output VCI         |
  1494.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1495.    |                        New Output Port                        |
  1496.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1497.    |x x x x|    New Output VPI     |        New Output VCI         |
  1498.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1499.    |       Number of Branches      |       Class of Service        |
  1500.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1501.  
  1502.    The VCC Move Branch message is a connection management message used
  1503.    to move a single output branch of a virtual channel connection from
  1504.    its current output port, output VPI, and output VCI, to a new output
  1505.    port, output VPI, and output VCI on the same virtual channel
  1506.    connection. None of the other output branches are modified.  When the
  1507.    operation is complete the original output VPI/VCI on the original
  1508.    output port will be deleted from the connection.  The VCC Move Branch
  1509.    message is:
  1510.  
  1511.  
  1512.  
  1513.  
  1514. Newman, et. al.              Informational                     [Page 27]
  1515.  
  1516. RFC 2297          Ipsilon's General Switch Management         March 1998
  1517.  
  1518.  
  1519.       Message Type = 22
  1520.  
  1521.    For the VCC Move Branch message, if the virtual channel connection
  1522.    specified by the Input Port, Input VPI, and Input VCI fields already
  1523.    exists, and the output branch specified by the Old Output Port, Old
  1524.    Output VPI, and Old Output VCI fields exists as a branch on that
  1525.    connection, the output branch specified by the New Output Port, New
  1526.    Output VPI, and New Output VCI fields is added to the connection and
  1527.    the branch specified by the Old Output Port, Old Output VPI, and Old
  1528.    Output VCI fields is deleted. If the Result field of the request
  1529.    message is "AckAll" a success response message must be sent upon
  1530.    successful completion of the operation. The success response message
  1531.    must not be sent until the Move Branch operation has been completed.
  1532.  
  1533.    For the VCC Move Branch message, if the virtual channel connection
  1534.    specified by the Input Port, Input VPI, and Input VCI fields already
  1535.    exists, but the output branch specified by the Old Output Port, Old
  1536.    Output VPI, and Old Output VCI fields does not exist as a branch on
  1537.    that connection, a failure response must be returned with the Code
  1538.    field indicating, "The specified branch does not exist."
  1539.  
  1540.    The VPC Move Branch message is a connection management message used
  1541.    to move a single output branch of a virtual path connection from its
  1542.    current output port and output VPI, to a new output port and output
  1543.    VPI on the same virtual channel connection. None of the other output
  1544.    branches are modified.  When the operation is complete the original
  1545.    output VPI on the original output port will be deleted from the
  1546.    connection.  The VPC Move Branch message is:
  1547.  
  1548.       Message Type = 27
  1549.  
  1550.    For the VPC Move Branch message, if the virtual path connection
  1551.    specified by the Input Port and Input VPI fields already exists, and
  1552.    the output branch specified by the Old Output Port and Old Output VPI
  1553.    fields exists as a branch on that connection, the output branch
  1554.    specified by the New Output Port and New Output VPI fields is added
  1555.    to the connection and the branch specified by the Old Output Port and
  1556.    Old Output VPI fields is deleted. If the Result field of the request
  1557.    message is "AckAll" a success response message must be sent upon
  1558.    successful completion of the operation. The success response message
  1559.    must not be sent until the Move Branch operation has been completed.
  1560.  
  1561.    For the VPC Move Branch message, if the virtual path connection
  1562.    specified by the Input Port and Input VPI fields already exists, but
  1563.    the output branch specified by the Old Output Port and Old Output VPI
  1564.    fields does not exist as a branch on that connection, a failure
  1565.    response must be returned with the Code field indicating, "The
  1566.    specified branch does not exist."
  1567.  
  1568.  
  1569.  
  1570. Newman, et. al.              Informational                     [Page 28]
  1571.  
  1572. RFC 2297          Ipsilon's General Switch Management         March 1998
  1573.  
  1574.  
  1575.    If the virtual channel connection specified by the Input Port, Input
  1576.    VPI, and Input VCI fields; or the virtual path connection specified
  1577.    by the Input Port and  Input VPI fields; does not exist, a failure
  1578.    response must be returned with the Code field indicating, "The
  1579.    specified connection does not exist."
  1580.  
  1581.    If the output branch specified by the New Output Port, New Output
  1582.    VPI, and New Output VCI fields for a virtual channel connection; or
  1583.    the output branch specified by the New Output Port and New Output VPI
  1584.    fields for a virtual path connection; is already in use by any
  1585.    connection other than that specified by the Input Port, Input VPI,
  1586.    and Input VCI fields then the resulting output branch will have
  1587.    multiple input branches. If multiple point-to-point connections share
  1588.    the same output branch the result will be a multipoint-to-point
  1589.    connection. If multiple point-to-multipoint trees share the same
  1590.    output branches the result will be a multipoint-to-multipoint
  1591.    connection.
  1592.  
  1593.  
  1594. 5. Port Management Messages
  1595.  
  1596. 5.1 Port Management Message
  1597.  
  1598.    The Port Management message allows a port to be brought into service,
  1599.    taken out of service, looped back, reset, or the transmit cell rate
  1600.    changed.  Only the Bring Up and the Reset Input Port functions change
  1601.    the connection state (established connections) on the input port.
  1602.    Only the Bring Up function changes the value of the Port Session
  1603.    Number. If the Result field of the request message is "AckAll" a
  1604.    success response message must be sent upon successful completion of
  1605.    the operation. The success response message must not be sent until
  1606.    the operation has been completed. The Port Management Message is:
  1607.  
  1608.       Message Type = 32
  1609.  
  1610.    The Port Management message has the following format for the request
  1611.    and success response messages:
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626. Newman, et. al.              Informational                     [Page 29]
  1627.  
  1628. RFC 2297          Ipsilon's General Switch Management         March 1998
  1629.  
  1630.  
  1631.     0                   1                   2                   3
  1632.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1633.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1634.    |    Version    | Message Type  |    Result     |     Code      |
  1635.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1636.    |                    Transaction Identifier                     |
  1637.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1638.    |                             Port                              |
  1639.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1640.    |                      Port Session Number                      |
  1641.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1642.    |                     Event Sequence Number                     |
  1643.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1644.    |  Event Flags  |   Duration    |          Function             |
  1645.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1646.    |                      Transmit Cell Rate                       |
  1647.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1648.  
  1649.    Event Sequence Number
  1650.              In the success response message gives the current value of
  1651.              the Event Sequence Number of the switch port indicated by
  1652.              the Port field. The Event Sequence Number is set to zero
  1653.              when the port is initialized. It is incremented by one each
  1654.              time the port detects an asynchronous event that the switch
  1655.              would normally report via an Event message. If the Event
  1656.              Sequence Number in the success response differs from the
  1657.              Event Sequence Number of the most recent Event message
  1658.              received for that port, events have occurred that were not
  1659.              reported via an Event message. This is most likely to be
  1660.              due to the flow control that restricts the rate at which a
  1661.              switch can send Event messages for each port. In the
  1662.              request message this field is not used.
  1663.  
  1664.    Event Flags
  1665.              Field in the request message is used to reset the Event
  1666.              Flags in the switch port indicated by the Port field. Each
  1667.              Event Flag in a switch port corresponds to a type of Event
  1668.              message. When a switch port sends an Event message it sets
  1669.              the corresponding Event Flag on that port. The port is not
  1670.              permitted to send another Event message of the same type
  1671.              until the Event Flag has been reset. If the Function field
  1672.              in the request message is set to "Reset Event Flags," for
  1673.              each bit that is set in the Event Flags field, the
  1674.              corresponding Event Flag in the switch port is reset.
  1675.  
  1676.              The Event Flags field is only used in a request message
  1677.              with the Function field set to "Reset Event Flags." For all
  1678.              other values of the Function field, the Event Flags field
  1679.  
  1680.  
  1681.  
  1682. Newman, et. al.              Informational                     [Page 30]
  1683.  
  1684. RFC 2297          Ipsilon's General Switch Management         March 1998
  1685.  
  1686.  
  1687.              is not used.  In the success response message the Event
  1688.              Flags field must be set to the current value of the Event
  1689.              Flags for the port, after the completion of the operation
  1690.              specified by the request message, for all values of the
  1691.              Function field. Setting the Event Flags field to all zeros
  1692.              in a "Reset Event Flags" request message allows the
  1693.              controller to obtain the current state of the Event Flags
  1694.              and the current Event Sequence Number of the port without
  1695.              changing the state of the Event Flags.
  1696.  
  1697.              The correspondence between the types of Event message and
  1698.              the bits of the Event Flags field is as follows:
  1699.  
  1700.                  0 1 2 3 4 5 6 7
  1701.                 +-+-+-+-+-+-+-+-+
  1702.                 |U|D|I|N|Z|x x x|
  1703.                 +-+-+-+-+-+-+-+-+
  1704.  
  1705.                 U: Port Up          Bit 0, (most significant bit)
  1706.                 D: Port Down        Bit 1,
  1707.                 I: Invalid VPI/VCI  Bit 2,
  1708.                 N: New Port         Bit 3,
  1709.                 Z: Dead Port        Bit 4,
  1710.                 x: Unused           Bits 5--7.
  1711.  
  1712.    Duration
  1713.              Is the length of time, in seconds, that any of the loopback
  1714.              states remain in operation. When the duration has expired
  1715.              the port will automatically be returned to service.  If
  1716.              another Port Management message is received for the same
  1717.              port before the duration has expired, the loopback will
  1718.              continue to remain in operation for the length of time
  1719.              specified by the Duration field in the new message. The
  1720.              Duration field is only used in request messages with the
  1721.              Function field set to Internal Loopback, External Loopback,
  1722.              or Bothway Loopback.
  1723.  
  1724.    Function
  1725.              Specifies the action to be taken. The specified action will
  1726.              be taken regardless of the current status of the port
  1727.              (Available, Unavailable, or any Loopback state).  If the
  1728.              specified function requires a new Port Session Number to be
  1729.              generated, the new Port Session Number must be returned in
  1730.              the success response message.  The defined values of the
  1731.              Function field are:
  1732.  
  1733.              Bring Up:
  1734.                   Function = 1. Bring the port into service. All
  1735.  
  1736.  
  1737.  
  1738. Newman, et. al.              Informational                     [Page 31]
  1739.  
  1740. RFC 2297          Ipsilon's General Switch Management         March 1998
  1741.  
  1742.  
  1743.                   connections that arrive at the specified input port
  1744.                   must be deleted and a new Port Session Number must be
  1745.                   selected using some form of random number. On
  1746.                   completion of the operation all dynamically assigned
  1747.                   VPI/VCI values for the specified input port must be
  1748.                   unassigned, i.e. no virtual connections will be
  1749.                   established in the VPI/VCI space that GSMP controls on
  1750.                   this input port. The Port Status of the port
  1751.                   afterwards will be Available.
  1752.  
  1753.              Take Down:
  1754.                   Function = 2. Take the port out of service. Any cells
  1755.                   received at this port will be discarded. No cells will
  1756.                   be transmitted from this port. The Port Status of the
  1757.                   port afterwards will be Unavailable.
  1758.  
  1759.                   The behavior is undefined if the port is taken down
  1760.                   over which the GSMP session that controls the switch
  1761.                   is running. (In this case the most probable behavior
  1762.                   would be for the switch either to ignore the message
  1763.                   or to terminate the current GSMP session and to
  1764.                   initiate another session, possibly with the backup
  1765.                   controller, if any.) The correct method to reset the
  1766.                   link over which GSMP is running is to issue an RSTACK
  1767.                   message in the adjacency protocol.
  1768.  
  1769.              Internal Loopback:
  1770.                   Function = 3. Cells arriving at the output port from
  1771.                   the switch fabric are looped through to the input port
  1772.                   to return to the switch fabric. All of the ATM
  1773.                   functions of the input port above the physical layer,
  1774.                   e.g. header translation, are performed upon the looped
  1775.                   back cells. The Port Status of the port afterwards
  1776.                   will be Internal Loopback.
  1777.  
  1778.              External Loopback:
  1779.                   Function = 4. Cells arriving at the input port from
  1780.                   the external communications link are immediately
  1781.                   looped back to the communications link at the physical
  1782.                   layer without entering the input port. None of the ATM
  1783.                   functions of the input port above the physical layer
  1784.                   are performed upon the looped back cells. The Port
  1785.                   Status of the port afterwards will be External
  1786.                   Loopback.
  1787.  
  1788.              Bothway Loopback:
  1789.                   Function = 5. Both internal and external loopback are
  1790.  
  1791.  
  1792.  
  1793.  
  1794. Newman, et. al.              Informational                     [Page 32]
  1795.  
  1796. RFC 2297          Ipsilon's General Switch Management         March 1998
  1797.  
  1798.  
  1799.                   performed. The Port Status of the port afterwards will
  1800.                   be Bothway Loopback.
  1801.  
  1802.              Reset Input Port:
  1803.                   Function = 6. All connections that arrive at the
  1804.                   specified input port must be deleted and the input and
  1805.                   output port hardware re-initialized. On completion of
  1806.                   the operation all dynamically assigned VPI/VCI values
  1807.                   for the specified input port must be unassigned, i.e.
  1808.                   no virtual connections will be established in the
  1809.                   VPI/VCI space that GSMP controls on this input port.
  1810.                   The range of VPIs and VCIs that may be controlled by
  1811.                   GSMP on this port will be set to the default values
  1812.                   specified in the Port Configuration message.  The
  1813.                   transmit cell rate of the output port must be set to
  1814.                   its default value. The Port Session Number is not
  1815.                   changed by the Reset Input Port function.  The Port
  1816.                   Status of the port afterwards will be Unavailable.
  1817.  
  1818.              Reset Event Flags:
  1819.                   Function = 7. For each bit that is set in the Event
  1820.                   Flags field, the corresponding Event Flag in the
  1821.                   switch port must be reset. The Port Status of the port
  1822.                   is not changed by this function.
  1823.  
  1824.              Set Transmit Cell Rate:
  1825.                   Function = 8. Sets the transmit cell rate of the
  1826.                   output port as close as possible to the rate specified
  1827.                   in the Transmit Cell Rate field. In the success
  1828.                   response message the Transmit Cell Rate must indicate
  1829.                   the actual transmit cell rate of the output port.  If
  1830.                   the transmit cell rate of the requested output port
  1831.                   cannot be changed, a failure response must be returned
  1832.                   with the Code field indicating: "The transmit cell
  1833.                   rate of this output port cannot be changed." If the
  1834.                   transmit cell rate of the requested output port can be
  1835.                   changed, but the value of the Transmit Cell Rate field
  1836.                   is beyond the range of acceptable values, a failure
  1837.                   response must be returned with the Code field
  1838.                   indicating: "Requested transmit cell rate out of range
  1839.                   for this output port." In the failure response message
  1840.                   the Transmit Cell Rate must contain the same value as
  1841.                   contained in the request message that caused the
  1842.                   failure. The transmit cell rate of the output port is
  1843.                   not changed by the Bring Up, Take Down, or any of the
  1844.                   Loopback functions. It is returned to the default
  1845.                   value by the Reset Input Port function.
  1846.  
  1847.  
  1848.  
  1849.  
  1850. Newman, et. al.              Informational                     [Page 33]
  1851.  
  1852. RFC 2297          Ipsilon's General Switch Management         March 1998
  1853.  
  1854.  
  1855.         Transmit Cell Rate
  1856.              This field is only used in request and success response
  1857.              messages with the Function field set to "Set Transmit Cell
  1858.              Rate." It is used to set the output cell rate of the output
  1859.              port. It is specified in cells/s. If the Transmit Cell Rate
  1860.              field contains the value 0xFFFFFFFF the transmit cell rate
  1861.              of the output port should be set to the highest valid
  1862.              value.
  1863.  
  1864. 5.2. Label Range Message
  1865.  
  1866.    The default label range, Min VPI to Max VPI and Min VCI to Max VCI,
  1867.    is specified for each port by the Port Configuration or the All Ports
  1868.    Configuration messages.  When the protocol is initialized, before the
  1869.    transmission of any Label Range messages, the label range of each
  1870.    port will be set to the default label range. (The default label range
  1871.    is dependent upon the switch design and configuration and is not
  1872.    specified by the GSMP protocol.) The Label Range message allows the
  1873.    range of VPIs supported by a specified port, or the range of VCIs
  1874.    supported by a specified VPI on a specified port, to be changed.
  1875.    Each switch port must declare whether it supports the Label Range
  1876.    message in the Port Configuration or the All Ports Configuration
  1877.    messages.  The Label Range message is:
  1878.  
  1879.       Message Type = 33
  1880.  
  1881.    The Label Range message has the following format for the request and
  1882.    success response messages:
  1883.  
  1884.     0                   1                   2                   3
  1885.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1886.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1887.    |    Version    | Message Type  |    Result     |     Code      |
  1888.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1889.    |                    Transaction Identifier                     |
  1890.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1891.    |                             Port                              |
  1892.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1893.    |                      Port Session Number                      |
  1894.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1895.    |Q|V|x x|      Min VPI          |x x x x|       Max VPI         |
  1896.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1897.    |            Min VCI            |           Max VCI             |
  1898.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1899.    |        Remaining VPIs         |        Remaining VCIs         |
  1900.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906. Newman, et. al.              Informational                     [Page 34]
  1907.  
  1908. RFC 2297          Ipsilon's General Switch Management         March 1998
  1909.  
  1910.  
  1911.    Flags
  1912.  
  1913.         Q: Query
  1914.              If the Query flag is set in a request message, the switch
  1915.              must respond with the current range of valid VPIs, or the
  1916.              current range of valid VCIs on a specified VPI, according
  1917.              to the VPI/VCI flag. The current label range is not changed
  1918.              by a request message with the Query flag set. If the Query
  1919.              flag is zero, the message is requesting a label change
  1920.              operation.
  1921.  
  1922.         V: VPI/VCI
  1923.              If the VPI/VCI flag is set, the message refers to a range
  1924.              of VPIs only. The Min VCI and Max VCI fields are unused. If
  1925.              the VPI/VCI flag is zero the message refers to a range of
  1926.              VCIs on either one VPI or on a range of VPIs.
  1927.  
  1928.         x: Unused
  1929.  
  1930.    Min VPI
  1931.    Max VPI
  1932.              Specify a range of VPI values, Min VPI to Max VPI
  1933.              inclusive.  A single VPI may be specified with a Min VPI
  1934.              and a Max VPI having the same value.  In a request message,
  1935.              if the value of the Max VPI field is less than or equal to
  1936.              the value of the Min VPI field, the requested range is a
  1937.              single VPI with a value equal to the Min VPI field. Zero is
  1938.              a valid value.  In a request message, if the Query flag is
  1939.              set, and the VPI/VCI flag is zero, the Max VPI field
  1940.              specifies a single VPI and the Min VPI field is not used.
  1941.              The maximum valid value of these fields for both request
  1942.              and response messages is 0xFFF.
  1943.  
  1944.    Min VCI
  1945.    Max VCI
  1946.              Specify a range of VCI values, Min VCI to Max VCI
  1947.              inclusive.  A single VCI may be specified with a Min VCI
  1948.              and a Max VCI having the same value.  In a request message,
  1949.              if the value of the Max VCI field is less than or equal to
  1950.              the value of the Min VCI field, the requested range is a
  1951.              single VCI with a value equal to the Min VCI field. Zero is
  1952.              a valid value.  (However, VPI=0, VCI=0 is not available as
  1953.              a virtual channel connection as it is used as a special
  1954.              value in ATM to indicate an unassigned cell.)
  1955.  
  1956.    Remaining VPIs
  1957.    Remaining VCIs
  1958.              These fields are unused in the request message. In the
  1959.  
  1960.  
  1961.  
  1962. Newman, et. al.              Informational                     [Page 35]
  1963.  
  1964. RFC 2297          Ipsilon's General Switch Management         March 1998
  1965.  
  1966.  
  1967.              success response message and in the failure response
  1968.              message these fields give the maximum number of remaining
  1969.              VPIs and VCIs that could be requested for allocation on the
  1970.              specified port (after completion of the requested operation
  1971.              in the case of the success response). It gives the switch
  1972.              controller an idea of how many VPIs and VCIs it could
  1973.              request. The number given is the maximum possible given the
  1974.              constraints of the switch hardware. There is no implication
  1975.              that this number of VPIs and VCIs is available to every
  1976.              switch port.
  1977.  
  1978.    If the Query flag and the VPI/VCI flag are set in the request
  1979.    message, the switch must reply with a success response message
  1980.    containing the current range of valid VPIs that are supported by the
  1981.    port.  The Min VPI and Max VPI fields are not used in the request
  1982.    message.
  1983.  
  1984.    If the Query flag is set and the VPI/VCI flag is zero in the request
  1985.    message, the switch must reply with a success response message
  1986.    containing the current range of valid VCIs that are supported by the
  1987.    VPI specified by the Max VPI field.  If the requested VPI is invalid,
  1988.    a failure response must be returned indicating: "One or more of the
  1989.    specified input VPIs is invalid." The Min VPI field is not used in
  1990.    either the request or success response messages.
  1991.  
  1992.    If the Query flag is zero and the VPI/VCI flag is set in the request
  1993.    message, the Min VPI and Max VPI fields specify the new range of VPIs
  1994.    to be allocated to the input port specified by the Port field.
  1995.    Whatever the range of VPIs previously allocated to this port it
  1996.    should be increased or decreased to the specified value.
  1997.  
  1998.    If the Query flag and the VPI/VCI flag are zero in the request
  1999.    message, the Min VCI and Max VCI fields specify the range of VCIs to
  2000.    be allocated to each of the VPIs specified by the VPI range.
  2001.    Whatever the range of VCIs previously allocated to each of the VPIs
  2002.    within the specified VPI range on this port, it should be increased
  2003.    or decreased to the specified value.  The allocated VCI range must be
  2004.    the same on each of the VPIs within the specified VPI range.
  2005.  
  2006.    The success response to a Label Range message requesting a change of
  2007.    label range is a copy of the request message with the Remaining VPIs
  2008.    and Remaining VCIs fields updated to the new values after the Label
  2009.    Range operation.
  2010.  
  2011.    If the switch is unable to satisfy a request to change the VPI range,
  2012.    it must return a failure response message with the Code field set to
  2013.    "Cannot support requested VPI range." In this failure response
  2014.  
  2015.  
  2016.  
  2017.  
  2018. Newman, et. al.              Informational                     [Page 36]
  2019.  
  2020. RFC 2297          Ipsilon's General Switch Management         March 1998
  2021.  
  2022.  
  2023.    message the switch must use the Min VPI and Max VPI fields to suggest
  2024.    a VPI range that it would be able to satisfy.
  2025.  
  2026.    If the switch is unable to satisfy a request to change the VCI range
  2027.    on all VPIs within the requested VPI range, it must return a failure
  2028.    response message with the Code field set to "Cannot support requested
  2029.    VCI range on all requested VPIs." In this failure response message
  2030.    the switch must use the Min VPI, Max VPI, Min VCI, and Max VCI fields
  2031.    to suggest a VPI and VCI range that it would be able to satisfy.
  2032.  
  2033.    In all other failure response messages for the label range operation
  2034.    the switch must return the values of Min VPI, Max VPI, Min VCI, and
  2035.    Max VCI from the request message.
  2036.  
  2037.    While switches can typically support all 256 or 4096 VPIs the VCI
  2038.    range that can be supported is often more constrained. Often the Min
  2039.    VCI must be 0 or 32. Typically all VCIs within a particular VPI must
  2040.    be contiguous.  The hint in the failure response message allows the
  2041.    switch to suggest a label range that it could satisfy in view of its
  2042.    particular architecture.
  2043.  
  2044.    While the Label Range message is defined to specify both a range of
  2045.    VPIs and a range of VCIs within each VPI, the most likely use is to
  2046.    change either the VPI range or the range of VCIs within a single VPI.
  2047.    It is possible for a VPI to be valid but to be allocated no valid
  2048.    VCIs. Such a VPI could be used for a virtual path connection but to
  2049.    support virtual channel connections it would need to be allocated a
  2050.    range of VCIs.
  2051.  
  2052.    A Label Range request message may be issued regardless of the Port
  2053.    Status or the Line Status of the target switch port. If the Port
  2054.    field of the request message contains an invalid port (a port that
  2055.    does not exist or a port that has been removed from the switch) a
  2056.    failure response message must be returned with the Code field set to,
  2057.    "One or more of the specified ports does not exist."
  2058.  
  2059.  
  2060. 6. State and Statistics Messages
  2061.  
  2062.    The state and statistics messages permit the controller to request
  2063.    the values of various hardware counters associated with the switch
  2064.    input and output ports, virtual path connections, virtual channel
  2065.    connections, and QoS Classes.  They also permit the controller to
  2066.    request the connection state of a switch input port.  The Connection
  2067.    Activity message is used to determine whether one or more specific
  2068.    virtual channel connections or virtual path connections have recently
  2069.    been carrying traffic.  The Statistics message is used to query the
  2070.    various port, connection, and QoS class traffic and error counters.
  2071.  
  2072.  
  2073.  
  2074. Newman, et. al.              Informational                     [Page 37]
  2075.  
  2076. RFC 2297          Ipsilon's General Switch Management         March 1998
  2077.  
  2078.  
  2079.    The Report Connection State message is used to request an input port
  2080.    to report the connection state for a single virtual channel
  2081.    connection, a single virtual path connection, or for the entire input
  2082.    port.
  2083.  
  2084. 6.1 Connection Activity Message
  2085.  
  2086.    The Connection Activity message is used to determine whether one or
  2087.    more specific virtual channel connections or virtual path connections
  2088.    have recently been carrying traffic. The Connection Activity message
  2089.    contains one or more Activity Records. Each Activity Record is used
  2090.    to request and return activity information concerning a single
  2091.    virtual channel connection or virtual path connection.  Each virtual
  2092.    channel connection is specified by its input port, input VPI, and
  2093.    input VCI. Each virtual path connection is specified by its input
  2094.    port and input VPI. These are specified in the Input Port, Input VPI,
  2095.    and Input VCI fields of each Activity Record.  Two forms of activity
  2096.    detection are supported. If the switch supports per connection
  2097.    traffic accounting, the current value of the traffic counter for each
  2098.    specified virtual channel connection or virtual path connection must
  2099.    be returned. The units of traffic counted are not specified but will
  2100.    typically be either cells or frames.  The controller must compare the
  2101.    traffic counts returned in the message with previous values for each
  2102.    of the specified connections to determine whether each connection has
  2103.    been active in the intervening period.  If the switch does not
  2104.    support per connection traffic accounting, but is capable of
  2105.    detecting per connection activity by some other unspecified means,
  2106.    the result may be indicated for each connection using the Flags
  2107.    field. The Connection Activity message is:
  2108.  
  2109.       Message Type = 48
  2110.  
  2111.    The Connection Activity request and success response messages have
  2112.    the following format:
  2113.  
  2114.     0                   1                   2                   3
  2115.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2116.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2117.    |    Version    | Message Type  |    Result     |     Code      |
  2118.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2119.    |                    Transaction Identifier                     |
  2120.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2121.    |       Number of Records       |           Reserved            |
  2122.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2123.    |                                                               |
  2124.    ~                       Activity Records                        ~
  2125.    |                                                               |
  2126.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2127.  
  2128.  
  2129.  
  2130. Newman, et. al.              Informational                     [Page 38]
  2131.  
  2132. RFC 2297          Ipsilon's General Switch Management         March 1998
  2133.  
  2134.  
  2135.    Number of Records
  2136.              Field specifies the number of Activity Records to follow.
  2137.              The number of Connection Activity records in a single
  2138.              Connection Activity message must not cause the packet
  2139.              length to exceed the maximum transmission unit defined by
  2140.              the encapsulation.
  2141.  
  2142.    Each Activity Record has the following format:
  2143.  
  2144.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2145.    |                          Input Port                           |
  2146.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2147.    |V|C|A|x|      Input VPI        |          Input VCI            |
  2148.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2149.    |                                                               |
  2150.    +                         Traffic Count                         +
  2151.    |                                                               |
  2152.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2153.  
  2154.    Input Port
  2155.              Identifies the port number of the input port on which the
  2156.              connection of interest arrives in order to identify the
  2157.              connection (regardless of whether the traffic count for the
  2158.              connection is maintained on the input port or the output
  2159.              port).
  2160.  
  2161.    Input VPI
  2162.    Input VCI
  2163.              Fields identify the specific virtual path connection or
  2164.              virtual channel connection for which statistics are being
  2165.              requested. For a virtual path connection the Input VCI
  2166.              field is not used.
  2167.  
  2168.    Flags
  2169.  
  2170.         V: Valid Record
  2171.              In the success response message the Valid Record flag is
  2172.              used to indicate an invalid Activity Record. The flag must
  2173.              be zero if any of the fields in this Activity Record are
  2174.              invalid, if the input port specified by the Input Port
  2175.              field does not exist, or if the specified connection does
  2176.              not exist. If the Valid Record flag is zero in a success
  2177.              response message, the Counter flag, the Activity flag, and
  2178.              the VC Traffic Count field are undefined. If the Valid
  2179.              Record flag is set, the Activity Record is valid, and the
  2180.              Counter and Activity flags are valid. The Valid Record flag
  2181.              is not used in the request message.
  2182.  
  2183.  
  2184.  
  2185.  
  2186. Newman, et. al.              Informational                     [Page 39]
  2187.  
  2188. RFC 2297          Ipsilon's General Switch Management         March 1998
  2189.  
  2190.  
  2191.         C: Counter
  2192.              In a success response message, if the Valid Record flag is
  2193.              set, the Counter flag, if zero, indicates that the value in
  2194.              the VC Traffic Count field is valid.  If set, it indicates
  2195.              that the value in the Activity flag is valid. The Counter
  2196.              flag is not used in the request message.
  2197.  
  2198.         A: Activity
  2199.              In a success response message, if the Valid Record and
  2200.              Counter flags are set, the Activity flag, if set, indicates
  2201.              that there has been some activity on this connection since
  2202.              the last Connection Activity message for this connection.
  2203.              If zero, it indicates that there has been no activity on
  2204.              this connection since the last Connection Activity message
  2205.              for this connection. The Activity flag is not used in the
  2206.              request message.
  2207.  
  2208.         x: Unused
  2209.  
  2210.    Traffic Count
  2211.              Field is not used in the request message.  In the success
  2212.              response message, if the switch supports per connection
  2213.              traffic counting, the Traffic Count field must be set to
  2214.              the value of a free running, connection specific, 64-bit
  2215.              traffic counter counting traffic flowing across the
  2216.              specified connection.  The value of the traffic counter is
  2217.              not modified by reading it.  If per connection traffic
  2218.              counting is supported, the switch must report the
  2219.              Connection Activity result using the traffic count rather
  2220.              than using the Activity flag.
  2221.  
  2222.    The format of the failure response is the same as the request message
  2223.    with the Number of Records field set to zero and no VC Activity
  2224.    records returned in the message. If the switch is incapable of
  2225.    detecting per connection activity, a failure response must be
  2226.    returned indicating, "The specified request is not implemented on
  2227.    this switch."
  2228.  
  2229. 6.2 Statistics Messages
  2230.  
  2231.    The Statistics messages are used to query the various port,
  2232.    connection, and QoS class traffic and error counters.
  2233.  
  2234.    The Statistics request messages have the following format:
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242. Newman, et. al.              Informational                     [Page 40]
  2243.  
  2244. RFC 2297          Ipsilon's General Switch Management         March 1998
  2245.  
  2246.  
  2247.     0                   1                   2                   3
  2248.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2249.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2250.    |    Version    | Message Type  |    Result     |     Code      |
  2251.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2252.    |                    Transaction Identifier                     |
  2253.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2254.    |                             Port                              |
  2255.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2256.    | zero  |          VPI          |              VCI              |
  2257.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2258.    |                      QoS Class Identifier                     |
  2259.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2260.  
  2261.    VPI
  2262.    VCI
  2263.              Fields identify the specific virtual path connection or
  2264.              virtual channel connection for which statistics are being
  2265.              requested.  For a virtual path connection the Input VCI
  2266.              field is not used.  For requests that do not require a
  2267.              virtual path connection or virtual channel connection to be
  2268.              specified, the VPI and VCI fields are not used.
  2269.  
  2270.    QoS Class Identifier
  2271.              Field identifies the QoS class for which statistics are
  2272.              being requested. This field is only used if the QoS Class
  2273.              Establishment message defined in section 9.4 is
  2274.              implemented.
  2275.  
  2276.    The success response for the Statistics message has the following
  2277.    format:
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298. Newman, et. al.              Informational                     [Page 41]
  2299.  
  2300. RFC 2297          Ipsilon's General Switch Management         March 1998
  2301.  
  2302.  
  2303.     0                   1                   2                   3
  2304.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2305.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2306.    |    Version    | Message Type  |    Result     |     Code      |
  2307.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2308.    |                    Transaction Identifier                     |
  2309.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2310.    |                             Port                              |
  2311.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2312.    | zero  |          VPI          |              VCI              |
  2313.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2314.    |                      QoS Class Identifier                     |
  2315.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2316.    |                                                               |
  2317.    +                       Input Cell Count                        +
  2318.    |                                                               |
  2319.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2320.    |                                                               |
  2321.    +                       Input Frame Count                       +
  2322.    |                                                               |
  2323.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2324.    |                                                               |
  2325.    +                    Input Cell Discard Count                   +
  2326.    |                                                               |
  2327.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2328.    |                                                               |
  2329.    +                   Input Frame Discard Count                   +
  2330.    |                                                               |
  2331.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2332.    |                                                               |
  2333.    +                     Input HEC Error Count                     +
  2334.    |                                                               |
  2335.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2336.    |                                                               |
  2337.    +                  Input Invalid VPI/VCI Count                  +
  2338.    |                                                               |
  2339.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2340.    |                                                               |
  2341.    +                       Output Cell Count                       +
  2342.    |                                                               |
  2343.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2344.    |                                                               |
  2345.    +                      Output Frame Count                       +
  2346.    |                                                               |
  2347.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2348.    |                                                               |
  2349.    +                   Output Cell Discard Count                   +
  2350.    |                                                               |
  2351.  
  2352.  
  2353.  
  2354. Newman, et. al.              Informational                     [Page 42]
  2355.  
  2356. RFC 2297          Ipsilon's General Switch Management         March 1998
  2357.  
  2358.  
  2359.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2360.    |                                                               |
  2361.    +                  Output Frame Discard Count                   +
  2362.    |                                                               |
  2363.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2364.  
  2365.    Port
  2366.    VPI/VCI
  2367.    QoS Class Identifier
  2368.              Fields are the same as those of the request message.
  2369.  
  2370.    Input Cell Count
  2371.    Output Cell Count
  2372.              Give the value of a free running 64-bit counter counting
  2373.              cells arriving at the input or departing from the output
  2374.              respectively.
  2375.  
  2376.    Input Frame Count
  2377.    Output Frame Count
  2378.              Give the value of a free running 64-bit counter counting
  2379.              frames (packets) arriving at the input or departing from
  2380.              the output respectively.
  2381.  
  2382.    Input Cell Discard Count
  2383.    Output Cell Discard Count
  2384.              Give the value of a free running 64-bit counter counting
  2385.              cells discarded due to queue overflow on an input port or
  2386.              on an output port respectively.
  2387.  
  2388.    Input Frame Discard Count
  2389.    Output Frame Discard Count
  2390.              Give the value of a free running 64-bit counter counting
  2391.              frames discarded due to congestion on an input port or on
  2392.              an output port respectively.
  2393.  
  2394.    HEC Error Count
  2395.              Gives the value of a free running 64-bit counter counting
  2396.              cells discarded due to header checksum errors on arrival at
  2397.              an input port.
  2398.  
  2399.    Invalid VPI/VCI Count
  2400.              Gives the value of a free running 64-bit counter counting
  2401.              cells discarded because their VPI/VCI is invalid on arrival
  2402.              at an input port. For a virtual channel connection an
  2403.              incoming VPI/VCI is invalid if no connection is currently
  2404.              established having that value of VPI/VCI. For a virtual
  2405.              path connection an incoming VPI is invalid if no connection
  2406.              is currently established having that value of VPI.
  2407.  
  2408.  
  2409.  
  2410. Newman, et. al.              Informational                     [Page 43]
  2411.  
  2412. RFC 2297          Ipsilon's General Switch Management         March 1998
  2413.  
  2414.  
  2415. 6.2.1 Port Statistics Message
  2416.  
  2417.    The Port Statistics message requests the statistics for the switch
  2418.    port specified in the Port field. The contents of the VPI/VCI and the
  2419.    QoS Class Identifier fields in the Port Statistics request message
  2420.    are ignored. All of the count fields in the success response message
  2421.    refer to per-port counts regardless of the connection or QoS class to
  2422.    which the cells belong.  Any of the count fields in the success
  2423.    response message not supported by the port must be set to zero. The
  2424.    Port Statistics message is:
  2425.  
  2426.       Message Type = 49
  2427.  
  2428. 6.2.2 Connection Statistics Message
  2429.  
  2430.    The Connection Statistics message requests the statistics for the
  2431.    virtual channel connection specified in the VPI/VCI field, or the
  2432.    virtual path connection specified in the VPI field, that arrives on
  2433.    the switch input port specified in the Port field, regardless of the
  2434.    QoS class to which the cells belong. All of the count fields in the
  2435.    success response message refer only to the specified connection.  The
  2436.    HEC Error Count and Invalid VPI/VCI Count fields are not connection
  2437.    specific and must be set to zero. Any of the other count fields not
  2438.    supported on a per connection basis must be set to zero in the
  2439.    success response message. The Connection Statistics message is:
  2440.  
  2441.       Message Type = 50
  2442.  
  2443. 6.2.3 QoS Class Statistics Message
  2444.  
  2445.    The QoS Class Statistics message requests the statistics for the QoS
  2446.    class specified by the QoS Class Identifier field that arrives on the
  2447.    switch input port specified in the Port field, regardless of the
  2448.    connection to which the cells belong. The QoS Statistics message is
  2449.    only used if the QoS Class Establishment message defined in section
  2450.    9.4 is implemented.  The contents of the VPI/VCI fields in the QoS
  2451.    Class Statistics request message are ignored. All of the count fields
  2452.    in the success response message refer only to the specified QoS
  2453.    class.  The HEC Error Count and Invalid VPI/VCI Count fields are not
  2454.    specific to a QoS class and must be set to zero. Any of the other
  2455.    count fields not supported on a per QoS class basis must be set to
  2456.    zero in the success response message. The QoS Class Statistics
  2457.    message is:
  2458.  
  2459.       Message Type = 51
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466. Newman, et. al.              Informational                     [Page 44]
  2467.  
  2468. RFC 2297          Ipsilon's General Switch Management         March 1998
  2469.  
  2470.  
  2471. 6.3 Report Connection State Message
  2472.  
  2473.    The Report Connection State message is used to request an input port
  2474.    to report the connection state for a single virtual channel
  2475.    connection, a single virtual path connection, or for the entire input
  2476.    port. The Report Connection State message is:
  2477.  
  2478.       Message Type = 52
  2479.  
  2480.    The Report Connection State request message has the following format:
  2481.  
  2482.     0                   1                   2                   3
  2483.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2484.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2485.    |    Version    | Message Type  |    Result     |     Code      |
  2486.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2487.    |                    Transaction Identifier                     |
  2488.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2489.    |                          Input Port                           |
  2490.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2491.    |A|V|x x|       Input VPI       |          Input VCI            |
  2492.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2493.  
  2494.    Input Port
  2495.              Identifies the port number of the input port for which the
  2496.              connection state is being requested.
  2497.  
  2498.    Flags
  2499.  
  2500.         A: All Connections
  2501.              If the All Connections flag is set, the message requests
  2502.              the connection state for all virtual path connections and
  2503.              virtual channel connections that arrive at the input port
  2504.              specified by the Input Port field. In this case the Input
  2505.              VPI and Input VCI fields and the VPI/VCI flag are unused.
  2506.  
  2507.         V: VPI/VCI
  2508.              If the All Connections flag is zero and the VPI/VCI flag is
  2509.              set, the message requests the connection state for the
  2510.              virtual path connection that arrives at the input port
  2511.              specified by the Input Port and Input VPI fields.  If the
  2512.              specified Input VPI identifies a virtual path connection
  2513.              (i.e. a single switched virtual path) the state for that
  2514.              connection is requested.  If the specified Input VPI
  2515.              identifies a virtual path containing virtual channel
  2516.              connections, the message requests the connection state for
  2517.              all virtual channel connections that belong to the
  2518.              specified virtual path. The Input VCI field is not used.
  2519.  
  2520.  
  2521.  
  2522. Newman, et. al.              Informational                     [Page 45]
  2523.  
  2524. RFC 2297          Ipsilon's General Switch Management         March 1998
  2525.  
  2526.  
  2527.              If the All Connections flag is zero and the VPI/VCI flag is
  2528.              also zero, the message requests the connection state for
  2529.              the virtual channel connection that arrives at the input
  2530.              port specified by the Port, Input VPI and Input VCI fields.
  2531.  
  2532.              x: Unused.
  2533.  
  2534.    Input VPI
  2535.    Input VCI
  2536.              Fields identify the specific virtual path connection, the
  2537.              specific virtual path, or the specific virtual channel
  2538.              connection for which connection state is being requested.
  2539.              For a virtual path connection (switched as a single virtual
  2540.              path connection) or a virtual path (switched as one or more
  2541.              virtual channel connections within the virtual path) the
  2542.              Input VCI field is not used.  For requests that do not
  2543.              require a virtual path connection or virtual channel
  2544.              connection to be specified, the Input VPI and Input VCI
  2545.              fields are not used.
  2546.  
  2547.    The Report Connection State success response message has the
  2548.    following format:
  2549.  
  2550.     0                   1                   2                   3
  2551.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2552.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2553.    |    Version    | Message Type  |    Result     |     Code      |
  2554.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2555.    |                    Transaction Identifier                     |
  2556.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2557.    |                          Input Port                           |
  2558.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2559.    |                       Sequence Number                         |
  2560.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2561.    |                                                               |
  2562.    ~                       Connection Records                      ~
  2563.    |                                                               |
  2564.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2565.  
  2566.    Input Port
  2567.              Is the same as the Input Port field in the request message.
  2568.              It identifies the port number of the input port for which
  2569.              the connection state is being reported.
  2570.  
  2571.    Sequence Number
  2572.              In the case that the requested connection state cannot be
  2573.              reported in a single success response message, each
  2574.              successive success response message in reply to the same
  2575.  
  2576.  
  2577.  
  2578. Newman, et. al.              Informational                     [Page 46]
  2579.  
  2580. RFC 2297          Ipsilon's General Switch Management         March 1998
  2581.  
  2582.  
  2583.              request message must increment the Sequence Number. The
  2584.              Sequence Number of the first success response message, in
  2585.              response to a new request message, must be zero.
  2586.  
  2587.    Connection Records
  2588.              Each success response message must contain one or more
  2589.              Connection Records. Each Connection Record specifies a
  2590.              single point-to-point or point-to-multipoint virtual path
  2591.              connection or virtual channel connection. The number of
  2592.              Connection Records in a single Report Connection State
  2593.              success response must not cause the packet length to exceed
  2594.              the maximum transmission unit defined by the encapsulation.
  2595.              If the requested connection state cannot be reported in a
  2596.              single success response message, multiple success response
  2597.              messages must be sent. All success response messages that
  2598.              are sent in response to the same request message must have
  2599.              the same Input Port and Transaction Identifier fields as
  2600.              the request message. A single Connection Record must not be
  2601.              split across multiple success response messages. The More
  2602.              flag of the last Connection Record in a success response
  2603.              message indicates whether the response to the request has
  2604.              been completed or whether one or more further success
  2605.              response messages should be expected in response to the
  2606.              same request message.
  2607.  
  2608.    Each Connection Record has the following format:
  2609.  
  2610.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2611.    |A|V|P|M|       Input VPI       |          Input VCI            |
  2612.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2613.    |                                                               |
  2614.    ~                      Output Branch Records                    ~
  2615.    |                                                               |
  2616.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2617.  
  2618.    Flags
  2619.  
  2620.         A: All Connections
  2621.         V: VPI/VCI
  2622.              For the first Connection Record in each success response
  2623.              message the All Connections and the VPI/VCI flags must be
  2624.              the same as those of the request message. For successive
  2625.              Connection Records in the same success response message
  2626.              these flags are not used.
  2627.  
  2628.         P: VPC
  2629.              The VPC flag, if set, indicates that the Connection Record
  2630.              refers to a virtual path connection.  If zero, it indicates
  2631.  
  2632.  
  2633.  
  2634. Newman, et. al.              Informational                     [Page 47]
  2635.  
  2636. RFC 2297          Ipsilon's General Switch Management         March 1998
  2637.  
  2638.  
  2639.              that the Connection Record refers to a virtual channel
  2640.              connection.
  2641.  
  2642.         M: More
  2643.              If the More flag is set, it indicates that another
  2644.              Connection Record, in response to the same request message,
  2645.              will follow either in the same success response message or
  2646.              in a successive success response message. If the More flag
  2647.              is zero it indicates that this is the last Connection
  2648.              record in this success response message and that no further
  2649.              success response messages will be sent in response to the
  2650.              current request message. It indicates that the response to
  2651.              the request message is now complete.
  2652.  
  2653.    Input VPI
  2654.    Input VCI
  2655.              The input VPI and VCI of the connection specified in this
  2656.              Connection Record. If this Connection Record specifies a
  2657.              virtual path connection (the VPC flag is set) the Input VCI
  2658.              field is unused.
  2659.  
  2660.    Output Branch Records
  2661.              Each Connection Record must contain one or more Output
  2662.              Branch Records. Each Output Branch Record specifies a
  2663.              single output branch belonging to the connection identified
  2664.              by the Input VPI and Input VCI fields of the Connection
  2665.              Record. A point-to-point connection will require only a
  2666.              single Output Branch Record. A point-to-multipoint
  2667.              connection will require multiple Output Branch Records. The
  2668.              last Output Branch Record of each Connection Record is
  2669.              indicated by the Last Branch flag of the Output Branch
  2670.              Record. If a point-to-multipoint connection has more output
  2671.              branches than can fit in a single Connection Record
  2672.              contained within a single success response message, that
  2673.              connection may be reported using multiple Connection
  2674.              Records in multiple success response messages.
  2675.  
  2676.    Each Output Branch Record has the following format:
  2677.  
  2678.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2679.    |                          Output Port                          |
  2680.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2681.    |L|x x x|       Output VPI      |          Output VCI           |
  2682.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2683.  
  2684.    Output Port
  2685.              The output port of the switch to which this output branch
  2686.              is routed.
  2687.  
  2688.  
  2689.  
  2690. Newman, et. al.              Informational                     [Page 48]
  2691.  
  2692. RFC 2297          Ipsilon's General Switch Management         March 1998
  2693.  
  2694.  
  2695.    Flags
  2696.  
  2697.         L: Last Branch
  2698.              The Last Branch flag, if set, indicates that this is the
  2699.              last Output Branch Record of this Connection Record. If
  2700.              zero, it indicates that one or more further Output Branch
  2701.              Records are to follow. If this is the last Output Branch
  2702.              Record in the message and the Last Branch flag is zero,
  2703.              further output branches belonging to the same connection
  2704.              will be given in another Connection Record. This Connection
  2705.              Record will be the first Connection Record in the next
  2706.              success response message. This Connection Record must have
  2707.              the same Input VPI and Input VCI values as the current
  2708.              Connection Record.
  2709.  
  2710.              x: Unused.
  2711.  
  2712.    Output VPI
  2713.    Output VCI
  2714.              The output VPI and VCI of the output branch specified in
  2715.              this Output Branch Record.  If this Output Branch Record is
  2716.              part of a Connection Record that specifies a virtual path
  2717.              connection (the VPC flag is set) the Output VCI field is
  2718.              unused.
  2719.  
  2720.    A Report Connection State request message may be issued regardless of
  2721.    the Port Status or the Line Status of the target switch port.
  2722.  
  2723.    If the Input Port of the request message is valid, and the All
  2724.    Connections flag is set, but there are no connections established on
  2725.    that port, a failure response message must be returned with the code
  2726.    field set to, "Failure specific to the particular message type." For
  2727.    the Report Connection State message, this failure code indicates that
  2728.    no connections matching the request message were found.  This failure
  2729.    message should also be returned if the Input Port of the request
  2730.    message is valid, the All Connections flag is zero, and no
  2731.    connections are found on that port matching the specified virtual
  2732.    path connection, virtual path, or virtual channel connection.
  2733.  
  2734.  
  2735. 7. Configuration Messages
  2736.  
  2737.    The configuration messages permit the controller to discover the
  2738.    capabilities of the switch. Three configuration request messages have
  2739.    been defined: Switch, Port, and All Ports.
  2740.  
  2741.    All configuration request messages have the following format:
  2742.  
  2743.  
  2744.  
  2745.  
  2746. Newman, et. al.              Informational                     [Page 49]
  2747.  
  2748. RFC 2297          Ipsilon's General Switch Management         March 1998
  2749.  
  2750.  
  2751.     0                   1                   2                   3
  2752.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2753.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2754.    |    Version    | Message Type  |    Result     |     Code      |
  2755.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2756.    |                    Transaction Identifier                     |
  2757.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2758.    |                             Port                              |
  2759.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2760.  
  2761. 7.1 Switch Configuration Message
  2762.  
  2763.    The Switch Configuration message requests the global (non port-
  2764.    specific) configuration for the switch. The Switch Configuration
  2765.    message is:
  2766.  
  2767.       Message Type = 64
  2768.  
  2769.    The Port field is not used in the request message.
  2770.  
  2771.    The Switch Configuration success response message has the following
  2772.    format:
  2773.  
  2774.     0                   1                   2                   3
  2775.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2776.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2777.    |    Version    | Message Type  |    Result     |     Code      |
  2778.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2779.    |                    Transaction Identifier                     |
  2780.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2781.    |    Firmware Version Number    |          Window Size          |
  2782.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2783.    |          Switch Type          |                               |
  2784.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
  2785.    |                          Switch Name                          |
  2786.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2787.  
  2788.    Firmware Version Number
  2789.              The version number of the switch control firmware
  2790.              installed.
  2791.  
  2792.    Window Size
  2793.              The maximum number of unacknowledged request messages that
  2794.              may be transmitted by the controller without the
  2795.              possibility of loss.  This field is used to prevent request
  2796.              messages being lost in the switch because of overflow in
  2797.              the receive buffer. The field is a hint to the controller.
  2798.              If desired, the controller may experiment with higher and
  2799.  
  2800.  
  2801.  
  2802. Newman, et. al.              Informational                     [Page 50]
  2803.  
  2804. RFC 2297          Ipsilon's General Switch Management         March 1998
  2805.  
  2806.  
  2807.              lower window sizes to determine heuristically the best
  2808.              window size.
  2809.  
  2810.    Switch Type
  2811.              A 16-bit field allocated by the manufacturer of the switch.
  2812.              (For these purposes the manufacturer of the switch is
  2813.              assumed to be the organization identified by the OUI in the
  2814.              Switch Name field.) The Switch Type identifies the product.
  2815.              When the Switch Type is combined with the OUI from the
  2816.              Switch Name the product is uniquely identified. Network
  2817.              Management may use this identification to obtain product
  2818.              related information from a database.
  2819.  
  2820.    Switch Name
  2821.              A 48-bit quantity that is unique within the operational
  2822.              context of the device. A 48-bit IEEE 802 MAC address, if
  2823.              available, may be used as the Switch Name. The most
  2824.              significant 24 bits of the Switch Name must be an
  2825.              Organizationally Unique Identifier (OUI) that identifies
  2826.              the manufacturer of the switch.
  2827.  
  2828. 7.2 Port Configuration Message
  2829.  
  2830.    The Port Configuration message requests the switch for the
  2831.    configuration information of a single switch port. The Port field in
  2832.    the request message specifies the port for which the configuration is
  2833.    requested.  The Port Configuration message is:
  2834.  
  2835.       Message Type = 65.
  2836.  
  2837.    The Port Configuration success response message has the following
  2838.    format:
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858. Newman, et. al.              Informational                     [Page 51]
  2859.  
  2860. RFC 2297          Ipsilon's General Switch Management         March 1998
  2861.  
  2862.  
  2863.     0                   1                   2                   3
  2864.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2865.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2866.    |    Version    | Message Type  |    Result     |     Code      |
  2867.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2868.    |                    Transaction Identifier                     |
  2869.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2870.    |                             Port                              |
  2871.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2872.    |                       Port Session Number                     |
  2873.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2874.    |V|M|L|R|      Min VPI          |Q|x x x|       Max VPI         |
  2875.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2876.    |            Min VCI            |           Max VCI             |
  2877.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2878.    |                       Receive Cell Rate                       |
  2879.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2880.    |                      Transmit Cell Rate                       |
  2881.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2882.    |  Port Status  |   Port Type   |  Line Status  |  Priorities   |
  2883.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2884.    |     Physical Slot Number      |     Physical Port Number      |
  2885.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2886.  
  2887.    Port
  2888.              The switch port to which the configuration information
  2889.              refers. Configuration information relating to both the
  2890.              input and the output sides of the switch port is given.
  2891.              Port numbers are 32 bits wide and allocated by the switch.
  2892.              The switch may choose to structure the 32 bits into
  2893.              subfields that have meaning to the physical structure of
  2894.              the switch hardware (e.g.  physical slot and port). This
  2895.              structure may be indicated in the Physical Slot Number and
  2896.              Physical Port Number fields.
  2897.  
  2898.    Flags
  2899.  
  2900.         V: VP Switching
  2901.              The VP Switching flag, if set, indicates that this input
  2902.              port is capable of supporting virtual path switching. Else,
  2903.              if zero, it indicates that this input port is only capable
  2904.              of virtual channel switching.
  2905.  
  2906.         M: Multicast Labels
  2907.              The Multicast Labels flag, if set, indicates that this
  2908.              output port is capable of labelling each output branch of a
  2909.              point-to-multipoint tree with a different label. If zero,
  2910.              it indicates that this output port is not able to label
  2911.  
  2912.  
  2913.  
  2914. Newman, et. al.              Informational                     [Page 52]
  2915.  
  2916. RFC 2297          Ipsilon's General Switch Management         March 1998
  2917.  
  2918.  
  2919.              each output branch of a point-to-multipoint tree with a
  2920.              different label.
  2921.  
  2922.         L: Logical Multicast
  2923.              The Logical Multicast flag, if set, indicates that this
  2924.              output port is capable of supporting more than a single
  2925.              branch from any point-to-multipoint connection.  This
  2926.              capability is often referred to as logical multicast.  If
  2927.              zero, it indicates that this output port can only support a
  2928.              single output branch from each point-to-multipoint
  2929.              connection.
  2930.  
  2931.         R: Label Range
  2932.              The Label Range flag, if set, indicates that this switch
  2933.              port is capable of reallocating its VPI label range or its
  2934.              VCI label range and therefore accepts the Label Range
  2935.              message. Else, if zero, it indicates that this port does
  2936.              not accept Label Range messages.
  2937.  
  2938.         Q: QoS
  2939.              The QoS flag, if set, indicates that this switch port is
  2940.              capable of handling the Quality of Service messages defined
  2941.              in section 9 of this specification.  Else, if zero, it
  2942.              indicates that this port does not accept the Quality of
  2943.              Service messages.
  2944.  
  2945.         x: Unused
  2946.  
  2947.    Min VPI
  2948.              The default minimum value of dynamically assigned incoming
  2949.              VPI that the connection table on the input port supports
  2950.              and that may be controlled by GSMP. This value is not
  2951.              changed as a result of the Label Range message.
  2952.  
  2953.    Max VPI
  2954.              The default maximum value of dynamically assigned incoming
  2955.              VPI that the connection table on the input port supports
  2956.              and that may be controlled by GSMP.  This value is not
  2957.              changed as a result of the Label Range message.
  2958.  
  2959.              At power-on, after a hardware reset, and after the Reset
  2960.              Input Port function of the Port Management message, the
  2961.              input port must handle all values of VPI within the range
  2962.              Min VPI to Max VPI inclusive and GSMP must be able to
  2963.              control all values within this range.  It should be noted
  2964.              that the range Min VPI to Max VPI refers only to the
  2965.              incoming VPI range that can be supported by the associated
  2966.              port. No restriction is placed on the values of outgoing
  2967.  
  2968.  
  2969.  
  2970. Newman, et. al.              Informational                     [Page 53]
  2971.  
  2972. RFC 2297          Ipsilon's General Switch Management         March 1998
  2973.  
  2974.  
  2975.              VPIs that may be written into the cell header. If the
  2976.              switch does not support virtual paths it is acceptable for
  2977.              both Min VPI and Max VPI to specify the same value, most
  2978.              likely zero.
  2979.  
  2980.              Use of the Label Range message allows the range of VPIs
  2981.              supported by the port to be changed. However, the Min VPI
  2982.              and Max VPI fields in the Port Configuration and All Ports
  2983.              Configuration messages always report the same default
  2984.              values regardless of the operation of the Label Range
  2985.              message.
  2986.  
  2987.    Min VCI
  2988.              The default minimum value of dynamically assigned incoming
  2989.              VCI that the connection table on the input port can support
  2990.              and may be controlled by GSMP. This value is not changed as
  2991.              a result of the Label Range message.
  2992.  
  2993.    Max VCI
  2994.              The default maximum value of dynamically assigned incoming
  2995.              VCI that the connection table on the input port can support
  2996.              and may be controlled by GSMP. This value is not changed as
  2997.              a result of the Label Range message.
  2998.  
  2999.              At power-on, after a hardware reset, and after the Reset
  3000.              Input Port function of the Port Management message, the
  3001.              input port must handle all values of VCI within the range
  3002.              Min VCI to Max VCI inclusive, for each of the virtual paths
  3003.              in the range Min VPI to Max VPI inclusive, and GSMP must be
  3004.              able to control all values within this range.  It should be
  3005.              noted that the range Min VCI to Max VCI refers only to the
  3006.              incoming VCI range that can be supported by the associated
  3007.              port on each of the virtual paths in the range Min VPI to
  3008.              Max VPI. No restriction is placed on the values of outgoing
  3009.              VCIs that may be written into the cell header.
  3010.  
  3011.              Use of the Label Range message allows the range of VCIs to
  3012.              be changed on each VPI supported by the port.  However, the
  3013.              Min VCI and Max VCI fields in the Port Configuration and
  3014.              All Ports Configuration messages always report the same
  3015.              default values regardless of the operation of the Label
  3016.              Range message.
  3017.  
  3018.              For a port over which the GSMP protocol is operating, the
  3019.              VCI of the GSMP control channel may or may not be reported
  3020.              as lying within the range Min VCI to Max VCI.  A switch
  3021.              should honor a connection request message that specifies
  3022.  
  3023.  
  3024.  
  3025.  
  3026. Newman, et. al.              Informational                     [Page 54]
  3027.  
  3028. RFC 2297          Ipsilon's General Switch Management         March 1998
  3029.  
  3030.  
  3031.              the VCI value of the GSMP control channel even if it lies
  3032.              outside the range Min VCI to Max VCI.
  3033.  
  3034.    Receive Cell Rate
  3035.              The maximum rate of cells that may arrive at the input port
  3036.              in cells/s.
  3037.  
  3038.    Transmit Cell Rate
  3039.              The maximum rate of cells that may depart from the output
  3040.              port in cells/s. (The transmit cell rate of the output port
  3041.              may be changed by the Set Transmit Cell Rate function of
  3042.              the Port Management message.)
  3043.  
  3044.    Port Status
  3045.              Gives the administrative state of the port. The defined
  3046.              values of the Port Status field are:
  3047.  
  3048.              Available:
  3049.                   Port Status = 1. The port is available to both send
  3050.                   and receive cells. When a port changes to the
  3051.                   Available state from any other administrative state,
  3052.                   all dynamically assigned virtual connections must be
  3053.                   cleared and a new Port Session Number must be
  3054.                   generated.
  3055.  
  3056.              Unavailable:
  3057.                   Port Status = 2. The port has intentionally been taken
  3058.                   out of service. No cells will be transmitted from this
  3059.                   port.  No cells will be received by this port.
  3060.  
  3061.              Internal Loopback:
  3062.                   Port Status = 3. The port has intentionally been taken
  3063.                   out of service and is in internal loopback: cells
  3064.                   arriving at the output port from the switch fabric are
  3065.                   looped through to the input port to return to the
  3066.                   switch fabric. All of the ATM functions of the input
  3067.                   port above the physical layer, e.g. header
  3068.                   translation, are performed upon the looped back cells.
  3069.  
  3070.              External Loopback:
  3071.                   Port Status = 4. The port has intentionally been taken
  3072.                   out of service and is in external loopback: cells
  3073.                   arriving at the input port from the external
  3074.                   communications link are immediately looped back to the
  3075.                   communications link at the physical layer without
  3076.                   entering the input port. None of the ATM functions of
  3077.                   the input port above the physical layer are performed
  3078.                   upon the looped back cells.
  3079.  
  3080.  
  3081.  
  3082. Newman, et. al.              Informational                     [Page 55]
  3083.  
  3084. RFC 2297          Ipsilon's General Switch Management         March 1998
  3085.  
  3086.  
  3087.              Bothway Loopback:
  3088.                   Port Status = 5. The port has intentionally been taken
  3089.                   out of service and is in both internal and external
  3090.                   loopback.
  3091.  
  3092.              The Port Status of the port over which the GSMP session
  3093.              controlling the switch is running, must be declared
  3094.              Available. The controller will ignore any other Port status
  3095.              for this port. The Port Status of switch ports after
  3096.              power-on initialization is not defined by GSMP.
  3097.  
  3098.    Port Type
  3099.              The type of physical transmission interface for this port.
  3100.              The values for this field are defined by the atmIfType
  3101.              object specified in the Ipsilon IP Switch MIB [IpsilonMIB].
  3102.  
  3103.    Line Status
  3104.              The status of the physical transmission medium connected to
  3105.              the port. The defined values of the Line Status field are:
  3106.  
  3107.              Up:
  3108.                   Line Status = 1. The line is able to both send and
  3109.                   receive cells.  When the Line Status changes to Up
  3110.                   from either the Down or Test states, a new Port
  3111.                   Session Number must be generated.
  3112.  
  3113.              Down:
  3114.                   Line Status = 2. The line is unable either to send or
  3115.                   receive cells or both.
  3116.  
  3117.              Test:
  3118.                   Line Status = 3. The port or line is in a test mode,
  3119.                   for example, power-on test.
  3120.  
  3121.    Priorities
  3122.              The number of different priority levels that this output
  3123.              port can assign to virtual connections.  Zero is invalid in
  3124.              this field. If an output port is able to support "Q"
  3125.              priorities, the highest priority is numbered zero and the
  3126.              lowest priority is numbered "Q-1". The ability to offer
  3127.              different qualities of service to different connections
  3128.              based upon their priority is assumed to be a property of
  3129.              the output port of the switch. It may be assumed that for
  3130.              connections that share the same output port, an ATM cell on
  3131.              a connection with a higher priority is much more likely to
  3132.              exit the switch before an ATM cell on a connection with a
  3133.              lower priority if they are both in the switch at the same
  3134.              time.
  3135.  
  3136.  
  3137.  
  3138. Newman, et. al.              Informational                     [Page 56]
  3139.  
  3140. RFC 2297          Ipsilon's General Switch Management         March 1998
  3141.  
  3142.  
  3143.    Physical Slot Number
  3144.              The physical location of the slot in which the port is
  3145.              located. It is an unsigned 16-bit integer that can take any
  3146.              value except 0xFFFF. The value 0xFFFF is used to indicate
  3147.              "unknown." The Physical Slot Number is not used by the GSMP
  3148.              protocol. It is provided to assist network management in
  3149.              functions such as logging, port naming, and graphical
  3150.              representation.
  3151.  
  3152.    Physical Port Number
  3153.              The physical location of the port within the slot in which
  3154.              the port is located. It is an unsigned 16-bit integer that
  3155.              can take any value except 0xFFFF. The value 0xFFFF is used
  3156.              to indicate "unknown." The Physical Port Number is not used
  3157.              by the GSMP protocol. It is provided to assist network
  3158.              management in functions such as logging, port naming, and
  3159.              graphical representation.
  3160.  
  3161.              There must be a one to one mapping between Port Number and
  3162.              the Physical Slot Number and Physical Port Number
  3163.              combination. Two different Port Numbers must not yield the
  3164.              same Physical Slot Number and Physical Port Number
  3165.              combination. The same Port Number must yield the same
  3166.              Physical Slot Number and Physical Port Number within a
  3167.              single GSMP session.  If both Physical Slot Number and
  3168.              Physical Port Number indicate "unknown" the physical
  3169.              location of switch ports may be discovered by looking up
  3170.              the product identity in a database to reveal the physical
  3171.              interpretation of the 32-bit Port Number.
  3172.  
  3173. 7.3 All Ports Configuration Message
  3174.  
  3175.    The All Ports Configuration message requests the switch for the
  3176.    configuration information of all of its ports. The All Ports
  3177.    Configuration message is:
  3178.  
  3179.       Message Type = 66
  3180.  
  3181.    The Port field is not used in the request message.
  3182.  
  3183.    The All Ports Configuration success response message has the
  3184.    following format:
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194. Newman, et. al.              Informational                     [Page 57]
  3195.  
  3196. RFC 2297          Ipsilon's General Switch Management         March 1998
  3197.  
  3198.  
  3199.     0                   1                   2                   3
  3200.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  3201.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3202.    |    Version    | Message Type  |    Result     |     Code      |
  3203.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3204.    |                    Transaction Identifier                     |
  3205.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3206.    |       Number of Records       |      Port Record Length       |
  3207.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3208.    |                                                               |
  3209.    ~                          Port Records                         ~
  3210.    |                                                               |
  3211.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3212.  
  3213.    Number of Records
  3214.              Field gives the total number of Port Records to be returned
  3215.              in response to the All Ports Configuration request message.
  3216.              The number of port records in a single All Ports
  3217.              Configuration success response must not cause the packet
  3218.              length to exceed the maximum transmission unit defined by
  3219.              the encapsulation. If a switch has more ports than can be
  3220.              sent in a single success response message it must send
  3221.              multiple success response messages. All success response
  3222.              messages that are sent in response to the same request
  3223.              message must have the same Transaction Identifier as the
  3224.              request message and the same value in the Number of Records
  3225.              field.  All success response messages that are sent in
  3226.              response to the same request message, except for the last
  3227.              message, must have the result field set to "More." The last
  3228.              message, or a single success response message, must have
  3229.              the result field set to "Success." All Port records within
  3230.              a success response message must be complete, i.e. a single
  3231.              Port record must not be split across multiple success
  3232.              response messages.
  3233.  
  3234.    Port Record Length
  3235.              Field gives the length of each port record in bytes. This
  3236.              is currently 32 but the Port Record Length field allows for
  3237.              the future definition of further fields at the end of the
  3238.              port record while preserving compatibility with earlier
  3239.              versions of the protocol.
  3240.  
  3241.    Port Records
  3242.              Follow in the remainder of the message. Each port record
  3243.              has the following format:
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250. Newman, et. al.              Informational                     [Page 58]
  3251.  
  3252. RFC 2297          Ipsilon's General Switch Management         March 1998
  3253.  
  3254.  
  3255.     0                   1                   2                   3
  3256.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  3257.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3258.    |                             Port                              |
  3259.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3260.    |                       Port Session Number                     |
  3261.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3262.    |V|M|L|R|      Min VPI          |Q|x x x|       Max VPI         |
  3263.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3264.    |            Min VCI            |           Max VCI             |
  3265.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3266.    |                       Receive Cell Rate                       |
  3267.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3268.    |                      Transmit Cell Rate                       |
  3269.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3270.    |  Port Status  |   Port Type   |  Line Status  |  Priorities   |
  3271.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3272.    |     Physical Slot Number      |     Physical Port Number      |
  3273.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3274.  
  3275.    The definition of the fields in the Port Record is exactly the same
  3276.    as that of the Port Configuration message.
  3277.  
  3278.  
  3279. 8. Event Messages
  3280.  
  3281.    Event messages allow the switch to inform the controller of certain
  3282.    asynchronous events. Event messages are not acknowledged. The Result
  3283.    field and the Code field in the message header are not used and
  3284.    should be set to zero. Event messages are not sent during
  3285.    initialization. Event messages have the following format:
  3286.  
  3287.     0                   1                   2                   3
  3288.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  3289.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3290.    |    Version    | Message Type  |    Result     |     Code      |
  3291.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3292.    |                    Transaction Identifier                     |
  3293.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3294.    |                             Port                              |
  3295.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3296.    |                      Port Session Number                      |
  3297.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3298.    |                     Event Sequence Number                     |
  3299.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3300.    | zero  |          VPI          |              VCI              |
  3301.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3302.  
  3303.  
  3304.  
  3305.  
  3306. Newman, et. al.              Informational                     [Page 59]
  3307.  
  3308. RFC 2297          Ipsilon's General Switch Management         March 1998
  3309.  
  3310.  
  3311.    Event Sequence Number
  3312.              The current value of the Event Sequence Number for the
  3313.              specified port. The Event Sequence Number is set to zero
  3314.              when the port is initialized. It is incremented by one each
  3315.              time the port detects an asynchronous event that the switch
  3316.              would normally report via an Event message. The Event
  3317.              Sequence Number must be incremented each time an event
  3318.              occurs even if the switch is prevented from sending an
  3319.              Event message due to the action of the flow control.
  3320.  
  3321.    VPI/VCI
  3322.              Field gives the VPI/VCI to which the event message refers.
  3323.              If this field is not required by the event message it is
  3324.              set to zero.
  3325.  
  3326.    Each switch port must maintain an Event Sequence Number and a set of
  3327.    Event Flags, one Event Flag for each type of Event message.  When a
  3328.    switch port sends an Event message it must set the Event Flag on that
  3329.    port corresponding to the type of the event. The port is not
  3330.    permitted to send another Event message of the same type until the
  3331.    Event Flag has been reset. Event Flags are reset by the "Reset Event
  3332.    Flags" function of the Port Management message. This is a simple flow
  3333.    control preventing the switch from flooding the controller with event
  3334.    messages. The Event Sequence Number of the port must be incremented
  3335.    every time an event is detected on that port even if the port is
  3336.    prevented from reporting the event due to the action of the flow
  3337.    control. This allows the controller to detect that it has not been
  3338.    informed of some events that have occurred on the port due to the
  3339.    action of the flow control.
  3340.  
  3341. 8.1 Port Up Message
  3342.  
  3343.    The Port Up message informs the controller that the Line Status of a
  3344.    port has changed from either the Down or Test state to the Up state.
  3345.    When the Line Status of a switch port changes to the Up state from
  3346.    either the Down or Test state a new Port Session Number must be
  3347.    generated, preferably using some form of random number. The new Port
  3348.    Session Number is given in the Port Session Number field. The VPI/VCI
  3349.    field is not used and is set to zero.  The Port Up message is:
  3350.  
  3351.       Message Type = 80
  3352.  
  3353. 8.2 Port Down Message
  3354.  
  3355.    The Port Down message informs the controller that the Line Status of
  3356.    a port has changed from the Up state to the Down state. This message
  3357.    will be sent to report link failure if the switch is capable of
  3358.    detecting link failure. The port session number that was valid before
  3359.  
  3360.  
  3361.  
  3362. Newman, et. al.              Informational                     [Page 60]
  3363.  
  3364. RFC 2297          Ipsilon's General Switch Management         March 1998
  3365.  
  3366.  
  3367.    the port went down is reported in the Port Session Number field. The
  3368.    VPI/VCI field is not used and is set to zero. The Port Down message
  3369.    is:
  3370.  
  3371.       Message Type = 81
  3372.  
  3373. 8.3 Invalid VPI/VCI Message
  3374.  
  3375.    The Invalid VPI/VCI message is sent to inform the controller that one
  3376.    or more cells have arrived at an input port with a VPI/VCI that is
  3377.    currently not allocated to an assigned connection. The input port is
  3378.    indicated in the Port field, and the VPI/VCI in the VPI/VCI field.
  3379.    The Invalid VPI/VCI message is:
  3380.  
  3381.       Message Type = 82
  3382.  
  3383. 8.4 New Port Message
  3384.  
  3385.    The New Port message informs the controller that a new port has been
  3386.    added to the switch. The port number of the new port is given in the
  3387.    Port field. A new Port Session Number must be assigned, preferably
  3388.    using some form of random number.  The new Port Session Number is
  3389.    given in the Port Session Number field.  The state of the new port is
  3390.    undefined so the VPI/VCI field is not used and is set to zero.  The
  3391.    New Port message is:
  3392.  
  3393.       Message Type = 83
  3394.  
  3395. 8.5 Dead Port Message
  3396.  
  3397.    The Dead Port message informs the controller that a port has been
  3398.    removed from the switch. The port number of the port is given in the
  3399.    Port field. The Port Session Number that was valid before the port
  3400.    was removed is reported in the Port Session Number field.  The
  3401.    VPI/VCI fields are not used and are set to zero. The Dead Port
  3402.    message is:
  3403.  
  3404.       Message Type = 84
  3405.  
  3406.  
  3407. 9. Quality of Service Messages
  3408.  
  3409.    The GSMP Quality of Service (QoS) messages allow a controller to
  3410.    group virtual path connections and virtual channel connections into
  3411.    QoS classes, and to allocate QoS resources to both QoS classes and to
  3412.    individual connections. At initialization, the switch describes its
  3413.    QoS capabilities to the controller, in terms of the abstract switch
  3414.    model, using the QoS Configuration message. The controller issues
  3415.  
  3416.  
  3417.  
  3418. Newman, et. al.              Informational                     [Page 61]
  3419.  
  3420. RFC 2297          Ipsilon's General Switch Management         March 1998
  3421.  
  3422.  
  3423.    Scheduler Establishment messages to configure the scheduler on each
  3424.    switch output port. It also issues QoS Class Establishment messages
  3425.    to configure QoS classes. Connections may be added to, or deleted
  3426.    from, a QoS class using the QoS Connection Management message. QoS
  3427.    resources may also be assigned to individual connections using the
  3428.    QoS Connection Management message. Connections that only require the
  3429.    scheduler may use the simple connection management messages defined
  3430.    in Section 3, "Connection Management Messages."
  3431.  
  3432. 9.1 Abstract Switch Model
  3433.  
  3434.    The abstract switch model, fig. 1, is the means by which a switch can
  3435.    describe its fundamental QoS capabilities to a controller. It
  3436.    consists of four main functions: a policer, a classifier, a
  3437.    regulator, and a scheduler.  The classifier groups multiple
  3438.    connections (VPCs or VCCs) together into a QoS class such that QoS
  3439.    resources may be shared by the QoS class as a whole. Within a QoS
  3440.    class there is no differentiation between members of the class in
  3441.    terms of QoS resources received. However, the ordering of cells
  3442.    within each constituent VPC or VCC must be preserved on exit from the
  3443.    switch. Connections are not required to be aggregated into a QoS
  3444.    class with other connections; they may be allocated individual QoS
  3445.    resources.
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.  
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466.  
  3467.  
  3468.  
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474. Newman, et. al.              Informational                     [Page 62]
  3475.  
  3476. RFC 2297          Ipsilon's General Switch Management         March 1998
  3477.  
  3478.  
  3479.    VPC/VCCs  Policer  Classifier   Regulator       Scheduler
  3480.  
  3481.              +--+     +----+                       +--------+
  3482.     -------->|  |---->|    |                       |        |
  3483.              +--+     |    |                       |        |
  3484.                       |    |                       |        |
  3485.              +--+     |    |       +----+          |        |
  3486.     -------->|  |---->|    |       |    |--------->|        |
  3487.              +--+     |    |       |    |conforming|        |
  3488.                       |    |------>|    |          |        |
  3489.              +--+     |    |  QoS  |    |          |        |
  3490.     -------->|  |---->|    | Class |    |--------->|        |
  3491.              +--+     |    |       +----+  excess  |        |
  3492.                       |    |                       |        |
  3493.              +--+     |    |                       |        |
  3494.     -------->|  |---->|    |                       |        |
  3495.              +--+     +----+                       |        |
  3496.                                                    |        |
  3497.                                                    |        |   Output
  3498.                                                    |        |    Port
  3499.                                                    |        |---------->
  3500.                                                    |        |
  3501.                                                    |        |
  3502.              +--+     +----+                       |        |
  3503.     -------->|  |---->|    |                       |        |
  3504.              +--+     |    |                       |        |
  3505.                       |    |                       |        |
  3506.              +--+     |    |       +----+          |        |
  3507.     -------->|  |---->|    |       |    |--------->|        |
  3508.              +--+     |    |       |    |conforming|        |
  3509.                       |    |------>|    |          |        |
  3510.              +--+     |    |  QoS  |    |          |        |
  3511.     -------->|  |---->|    | Class |    |--------->|        |
  3512.              +--+     |    |       +----+  excess  |        |
  3513.                       |    |                       |        |
  3514.              +--+     |    |                       |        |
  3515.     -------->|  |---->|    |                       |        |
  3516.              +--+     +----+                       |        |
  3517.                                                    +--------+
  3518.  
  3519.                        Fig. 1: Abstract Switch Model
  3520.  
  3521.    The policer is a single input, single output device that can discard
  3522.    or tag cells.  A policer may be applied to police each individual
  3523.    connection.  A policer may also be applied to police the aggregate
  3524.    traffic of a QoS class.  The policer is  used to enforce an upper
  3525.    bound on the traffic on a connection or on a QoS class.
  3526.  
  3527.  
  3528.  
  3529.  
  3530. Newman, et. al.              Informational                     [Page 63]
  3531.  
  3532. RFC 2297          Ipsilon's General Switch Management         March 1998
  3533.  
  3534.  
  3535.    The regulator follows the policer and classifier. It offers either a
  3536.    policing function or a shaping function. The policing function
  3537.    evaluates cells as conforming to the rate specified by the regulator
  3538.    parameters or as being in excess of that rate. One of three actions
  3539.    can be specified to be taken for each cell as a result of this
  3540.    evaluation: tagging, discard or differentiated scheduling. Tagging
  3541.    sets the CLP bit of cells deemed to be in excess of the rate defined
  3542.    by the regulator parameters.  The discard function discards excess
  3543.    cells. The differentiated scheduling function allows conforming cells
  3544.    and excess cells to be scheduled for service at different points in
  3545.    the scheduler. This would allow conforming cells, for example, to
  3546.    receive service with a QoS guarantee, whereas excess cells receive
  3547.    best-effort service.  The implementation of differentiated
  3548.    scheduling, however, is complicated by the requirement not to reorder
  3549.    cells within each connection.
  3550.  
  3551.    The shaping function of the regulator paces cells out, on each QoS
  3552.    class or individual connection, at the rate specified by the
  3553.    regulator parameters. No jitter requirement may be specified, nor is
  3554.    any specific guarantee of jitter given. If traffic arrives on any QoS
  3555.    class or individual connection at a greater rate than the output rate
  3556.    specified, that traffic will be delayed. If the delayed traffic for
  3557.    any QoS class or individual connection exceeds a bound, discard will
  3558.    occur.  Differentiated scheduling is supported by the shaper but its
  3559.    application to shaping is somewhat different than its application to
  3560.    policing. Conforming traffic is that traffic which leaves the shaper
  3561.    as a result of the shaping process.  The conforming pointer specifies
  3562.    the point in the scheduler structure where such traffic is scheduled
  3563.    for output. (This is typically the highest priority of the scheduler
  3564.    but the GSMP specification permits other priorities to be specified.)
  3565.    If an excess pointer is also enabled for a particular QoS class or
  3566.    individual connection, traffic in excess of the rate specified by the
  3567.    shaper may also be transmitted.  The position of the excess pointer
  3568.    in the scheduler structure determines the undefined amount of
  3569.    additional traffic that will be supported. The excess traffic may be
  3570.    tagged if required, if tagging is supported. The excess pointer will
  3571.    receive the same share of bandwidth that a best-effort class or
  3572.    connection would receive at the same location in the scheduler
  3573.    structure.
  3574.  
  3575.    The location of the classifier and regulator functions in the switch
  3576.    is important. If the classifier is located on an input port, only
  3577.    virtual connections that arrive at that input port may be aggregated
  3578.    into a QoS class. If the classifier is centralized, or located on an
  3579.    output port, virtual connections that arrive at any input port may be
  3580.    aggregated into the same QoS class. If the regulator is located on an
  3581.    output port all virtual connections within a QoS class passing
  3582.    through that regulator must exit the switch at that output port.
  3583.  
  3584.  
  3585.  
  3586. Newman, et. al.              Informational                     [Page 64]
  3587.  
  3588. RFC 2297          Ipsilon's General Switch Management         March 1998
  3589.  
  3590.  
  3591.    However, if the regulator is centralized, or located on an input
  3592.    port, virtual connections that are part of the same QoS class may be
  3593.    switched to different output ports.  Each switch port must specify
  3594.    the location of its classifier and regulator functions.
  3595.  
  3596.    The scheduler is located on the output port, fig. 2. It distributes
  3597.    the bandwidth of the output link between the QoS classes and
  3598.    individual connections.  It is a two-level scheduler: a priority
  3599.    scheduler at one level and a FIFO or a weighted scheduler at the
  3600.    other.  Up to 255 strict priority levels may be supported. Traffic in
  3601.    any specific priority level may only be transmitted if no traffic is
  3602.    queued for transmission in any higher priority level. Within each
  3603.    priority level a weighted scheduler may be defined. Each leaf of the
  3604.    scheduler tree is connected to a waiting room. The waiting room has
  3605.    two functions. When it receives service from the scheduler, it must
  3606.    select a QoS class or individual connection for transmission. When it
  3607.    is notified of traffic arrival on a QoS class or connection, it must
  3608.    decide whether there is enough room left in the waiting room to
  3609.    accept the traffic, else that traffic must be discarded. The waiting
  3610.    room has a size parameter indicating how much traffic may be
  3611.    accepted.  Other queueing parameters may be attached to the waiting
  3612.    room. Multiple conforming and excess pointers from the regulators may
  3613.    point to each waiting room. Within a waiting room, the scheduling of
  3614.    multiple connections sharing that waiting room may support weighted
  3615.    sharing between the connections.
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.  
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636.  
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642. Newman, et. al.              Informational                     [Page 65]
  3643.  
  3644. RFC 2297          Ipsilon's General Switch Management         March 1998
  3645.  
  3646.  
  3647.         From      Waiting        FIFO/Weighted        Priority
  3648.       Regulator     Room           Scheduler          Scheduler
  3649.  
  3650.                            Net       +---+
  3651.                   +------+ Weight    |   |
  3652.        ---------->|      |-%-------->| 0 |------\
  3653.                   +------+           |   |       \
  3654.                                      +---+        \
  3655.        ---------->+------+                        |
  3656.                   |      |-%--\      +---+        |
  3657.        ---------->+------+     \---->|   |        |
  3658.                                      | 1 |---\    |
  3659.                   +------+     /---->|   |    \   \
  3660.        ---------->|      |-%--/      +---+     \   \    +---+
  3661.                   +------+                      \   \-->|   |
  3662.                                                  \----->|   |--------->
  3663.        ---------->+------+                          /-->|   |  Output
  3664.        ---------->|      |-%-\                     /    +---+   Port
  3665.        ---------->+------+    \                   /
  3666.                                \     +---+       /
  3667.                   +------+      \--->|   |      /
  3668.        ---------->|      |-%-------->| 2 |-----/
  3669.                   +------+      /--->|   |
  3670.                                /     +---+
  3671.                   +------+    /
  3672.        ---------->|      |-%-/
  3673.                   +------+
  3674.  
  3675.                            Fig. 2: The Scheduler
  3676.  
  3677. 9.2 QoS Configuration Message
  3678.  
  3679.    The QoS Configuration message permits the controller to discover the
  3680.    QoS capabilities of each switch port in terms of the abstract switch
  3681.    model. The QoS Configuration message is:
  3682.  
  3683.       Message Type = 96
  3684.  
  3685.  
  3686.    The QoS Configuration request message has the following format:
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.  
  3694.  
  3695.  
  3696.  
  3697.  
  3698. Newman, et. al.              Informational                     [Page 66]
  3699.  
  3700. RFC 2297          Ipsilon's General Switch Management         March 1998
  3701.  
  3702.  
  3703.     0                   1                   2                   3
  3704.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  3705.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3706.    |    Version    | Message Type  |    Result     |     Code      |
  3707.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3708.    |                    Transaction Identifier                     |
  3709.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3710.    |                             Port                              |
  3711.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3712.  
  3713.    The QoS Configuration success response message has the following
  3714.    format:
  3715.  
  3716.     0                   1                   2                   3
  3717.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  3718.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3719.    |    Version    | Message Type  |    Result     |     Code      |
  3720.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3721.    |                    Transaction Identifier                     |
  3722.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3723.    |                             Port                              |
  3724.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3725.    |                       Port Session Number                     |
  3726.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3727.    |        Scheduler Flags        |       Regulator Flags         |
  3728.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3729.    |      Excess Capabilities      |            Reserved           |
  3730.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3731.    |  Hi Sharing   |  Lo Sharing   |          Max Classes          |
  3732.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3733.    |                          Default Size                         |
  3734.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3735.    |                   Default Discard Threshold                   |
  3736.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3737.    |                          Max Buffer                           |
  3738.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3739.    |                        Max Shaper Buffer                      |
  3740.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3741.    |                        Scaling Factor                         |
  3742.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3743.  
  3744.    Port
  3745.              The switch port to which the QoS configuration information
  3746.              refers. QoS configuration information relating to both the
  3747.              input and the output sides of the switch port is given.
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754. Newman, et. al.              Informational                     [Page 67]
  3755.  
  3756. RFC 2297          Ipsilon's General Switch Management         March 1998
  3757.  
  3758.  
  3759.    Scheduler Flags
  3760.  
  3761.          0                   1
  3762.          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  3763.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3764.         |W|Q|S|G|D|F|M|B|I|x x x x x x x|
  3765.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3766.  
  3767.         W: Weighted Connections
  3768.              Bit 0 of the Scheduler Flags field, if set, indicates that
  3769.              a weighted service algorithm (such as weighted round-robin)
  3770.              is available for allocation of service to individual
  3771.              connections within at least some waiting rooms. It means
  3772.              that a Connection Weight parameter can be attached to a QoS
  3773.              Connection Management message. Not all waiting rooms at all
  3774.              priority levels may be able to support this function.
  3775.              Whether a particular waiting room can support this function
  3776.              will be discovered when a QoS Connection Management message
  3777.              is issued.
  3778.  
  3779.         Q: Weighted QoS Classes
  3780.              Bit 1 of the Scheduler Flags field, if set, indicates that
  3781.              a weighted service algorithm (such as weighted round-robin)
  3782.              is available for allocation of service to QoS classes
  3783.              within at least some waiting rooms.  It means that a QoS
  3784.              Class Weight parameter can be attached to a QoS Class
  3785.              Establishment message.  Not all waiting rooms at all
  3786.              priority levels may be able to support this function.
  3787.              Whether a particular waiting room can support this function
  3788.              will be discovered when a QoS Class Establishment message
  3789.              is issued.
  3790.  
  3791.         S: Shared Waiting Room
  3792.              Bit 2 of the Scheduler Flags field, if set, indicates that
  3793.              multiple QoS classes and multiple connections may be
  3794.              scheduled within a single waiting room. This is expected to
  3795.              be the normal case. If Bit 2 of the Scheduler Flags field
  3796.              is zero, it indicates that only a single QoS class or a
  3797.              single connection may be directed to any single waiting
  3798.              room.
  3799.  
  3800.         G: Global Max Classes
  3801.              Bit 3 of the Scheduler Flags field, if set, indicates that
  3802.              the Max Classes field gives the maximum number of QoS
  3803.              classes that may be supported by the entire switch. If
  3804.              zero, it indicates that the Max Classes field gives the
  3805.              maximum number of QoS classes that may be supported by this
  3806.              switch port.
  3807.  
  3808.  
  3809.  
  3810. Newman, et. al.              Informational                     [Page 68]
  3811.  
  3812. RFC 2297          Ipsilon's General Switch Management         March 1998
  3813.  
  3814.  
  3815.         D: Packet Discard
  3816.              Bit 4 of the Scheduler Flags field, if set, indicates that
  3817.              the scheduler on this output port is capable of packet
  3818.              discard. Packet discard indicates a discard algorithm that
  3819.              is aware of AAL-5 packet boundaries and attempts to discard
  3820.              whole packets. No specific algorithm is indicated though
  3821.              Early Packet Discard (EPD) is likely to be the most common.
  3822.              Other algorithms such as "push from front" schemes, dynamic
  3823.              threshold, or Random Early Detection (RED) are also
  3824.              examples of possible packet discard algorithms. The only
  3825.              parameters available to the packet discard algorithm, via
  3826.              GSMP, are the Size and Discard Threshold of the waiting
  3827.              room.
  3828.  
  3829.         F: Frame-Based Scheduling
  3830.              Bit 5 of the Scheduler Flags field, if set, indicates that
  3831.              the scheduler on this output port is capable of frame-based
  3832.              scheduling. In frame-based scheduling, a connection is only
  3833.              scheduled for transmission when a complete AAL-5 packet is
  3834.              available.  When a connection is scheduled for
  3835.              transmission, all cells belonging to one or more complete
  3836.              packets from that connection will be transmitted without
  3837.              being interleaved with any other cells on that output port
  3838.              (regardless of their priority).  Frame-based scheduling is
  3839.              a property of the waiting room and is requested in the
  3840.              Scheduler Establishment message.  A QoS class may be routed
  3841.              through a waiting room configured with frame-based
  3842.              scheduling.  In this case each component connection of the
  3843.              QoS class will receive frame based scheduling. For correct
  3844.              distribution of bandwidth, each QoS class that requires
  3845.              frame-based scheduling should have its own waiting room.
  3846.  
  3847.         M: VC Merging
  3848.              Bit 6 of the Scheduler Flags field, if set, indicates that
  3849.              the scheduler on this output port is capable of VC merging
  3850.              by a mechanism other than frame-based scheduling. VC
  3851.              merging indicates that the switch is capable of the
  3852.              multipoint-to-point merging of two or more incoming virtual
  3853.              connections onto a single outgoing virtual connection
  3854.              without interleaving cells from different AAL-5 packets
  3855.              that bear the same VPI/VCI. VC merging differs from frame-
  3856.              based scheduling in that cells with a different VPI/VCI may
  3857.              be interleaved with those of a multipoint-to-point VC
  3858.              merging connection. Thus, higher priority cells may be
  3859.              interleaved during the transmission of a packet on a lower
  3860.              priority VC merging connection.  Most switches achieve VC
  3861.              merging by using frame-based scheduling.  VC merging is a
  3862.              property of the waiting room and is requested in the
  3863.  
  3864.  
  3865.  
  3866. Newman, et. al.              Informational                     [Page 69]
  3867.  
  3868. RFC 2297          Ipsilon's General Switch Management         March 1998
  3869.  
  3870.  
  3871.              Scheduler Establishment message.  A QoS class may be routed
  3872.              through a waiting room configured with VC merging.  In this
  3873.              case each component connection of the QoS class will
  3874.              receive VC merging.
  3875.  
  3876.         B: Shared Buffer
  3877.              Bit 7 of the Scheduler Flags field, if set, indicates that
  3878.              at least some of the buffer space specified by the Max
  3879.              Buffer field is shared with other ports.  If zero, it
  3880.              indicates that the buffer space specified by the Max Buffer
  3881.              field is not shared with other ports.
  3882.  
  3883.         I: Identical Ports
  3884.              Bit 8 of the Scheduler Flags field, if set, indicates that
  3885.              all ports of the switch have identical QoS capabilities. If
  3886.              this bit is set the controller does not have to request the
  3887.              QoS configuration of each port individually as all ports
  3888.              have the same capability.
  3889.  
  3890.         x: Bits 9--15 of the Scheduler Flags field are not used.
  3891.  
  3892.    Regulator Flags
  3893.  
  3894.          0                   1
  3895.          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  3896.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3897.         |C|Q|I O|P|S|H|M|x x x x x x x x|
  3898.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3899.  
  3900.         C: Connection Policing
  3901.              Bit 0 of the Regulator Flags field indicates that this
  3902.              input port supports the policing of individual incoming
  3903.              connections. The parameters for the policer are specified
  3904.              in the QoS Connection Management message when the
  3905.              connection is established.
  3906.  
  3907.         Q: QoS Class Policing
  3908.              If bit 1 of the Regulator Flags field is set, a policer
  3909.              function is available to police each QoS class on output
  3910.              from the classifier. The parameters for this policer are
  3911.              specified in the QoS Class Establishment message. If this
  3912.              bit is zero, no policer function is available to police a
  3913.              QoS class.
  3914.  
  3915.         IO: QoS Class Location
  3916.              Bits 2 and 3 of the Regulator Flags field specify the
  3917.              location of the classifier and regulator functions. If both
  3918.  
  3919.  
  3920.  
  3921.  
  3922. Newman, et. al.              Informational                     [Page 70]
  3923.  
  3924. RFC 2297          Ipsilon's General Switch Management         March 1998
  3925.  
  3926.  
  3927.              bits 2 and 3 of the Regulator Flags field are zero, no
  3928.              classifier or regulator function is available to this port.
  3929.  
  3930.              If bit 2 of the Regulator Flags field is set and bit 3 is
  3931.              zero, the classifier and regulator functions are available
  3932.              on the input port. This implies that only virtual
  3933.              connections arriving at this input port may be grouped into
  3934.              QoS classes by this classifier. However, connections in a
  3935.              QoS class output from this regulator may be switched to any
  3936.              output port.
  3937.  
  3938.              If bit 2 of the Regulator Flags field is zero and bit 3 is
  3939.              set, the classifier and regulator functions are available
  3940.              on the output port. This implies that virtual connections
  3941.              arriving at any input port may be grouped into QoS classes
  3942.              by this classifier. However, all connections in any QoS
  3943.              class output from this regulator may only be switched to
  3944.              this output port.
  3945.  
  3946.              If both bits 2 and 3 of the Regulator Flags field are set,
  3947.              this switch port has access to centralized classifier and
  3948.              regulator functions. This implies that virtual connections
  3949.              arriving at any input port may be grouped into a QoS class
  3950.              by this classifier. Also, connections in a QoS class output
  3951.              from this regulator may be switched to any output port.
  3952.  
  3953.         Regulator Function
  3954.  
  3955.         P: If bit 4 of the Regulator Flags field is set, the regulator
  3956.              is able to support the policing function.
  3957.  
  3958.         S: If bit 5 of the Regulator Flags field is set, the regulator
  3959.              is able to support the shaping function on all priority
  3960.              levels of the scheduler.
  3961.  
  3962.         H: If bit 5 of the Regulator Flags field is zero and bit 6 is
  3963.              set, the regulator is able to support the shaping function
  3964.              but only on the highest priority level of the scheduler.
  3965.              All connections and QoS classes using this regulator must
  3966.              be routed to a waiting room at the highest priority level
  3967.              of the scheduler.
  3968.  
  3969.         M: QoS Multicast
  3970.              If bit 7 of the Regulator Flags field is set, any point-
  3971.              to-multipoint connection arriving on this input port, with
  3972.              QoS parameters established by the GSMP Quality of Service
  3973.              messages, must use the same QoS parameters for all output
  3974.              branches.
  3975.  
  3976.  
  3977.  
  3978. Newman, et. al.              Informational                     [Page 71]
  3979.  
  3980. RFC 2297          Ipsilon's General Switch Management         March 1998
  3981.  
  3982.  
  3983.         x: Bits 8--15 of the Regulator Flags field are not used.
  3984.  
  3985.    Excess Capabilities
  3986.  
  3987.          0                   1
  3988.          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  3989.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3990.         |D|T|S|A|B|x x x x x x x x x x x|
  3991.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  3992.  
  3993.         Policer:
  3994.  
  3995.         D: If bit 0 of the Excess Capabilities field is set, the policer
  3996.              function of the regulator is able to support discard.
  3997.  
  3998.         T: If bit 1 of the Excess Capabilities field is set, the policer
  3999.              function of the regulator is able to support tagging.
  4000.  
  4001.         S: If bit 2 of the Excess Capabilities field is set, the policer
  4002.              function of the regulator is able to support differentiated
  4003.              scheduling.
  4004.  
  4005.         Shaper:
  4006.  
  4007.         A: If bit 3 of the Excess Capabilities field is set, the shaper
  4008.              function of the regulator is able to support tagging.
  4009.  
  4010.         B: If bit 4 of the Excess Capabilities field is set, the shaper
  4011.              function of the regulator is able to support differentiated
  4012.              scheduling.
  4013.  
  4014.         x: Bits 5--15 of the Excess Capabilities field are not used.
  4015.  
  4016.    Hi Sharing
  4017.    Lo Sharing
  4018.              Defines a range of priority levels that support weighted
  4019.              sharing. Each priority level in the range Lo Sharing to Hi
  4020.              Sharing inclusive, supports weighted sharing. A priority
  4021.              level that supports weighted sharing offers a weighted
  4022.              sharing algorithm (for example, weighted round-robin)
  4023.              between waiting rooms within that priority level. This
  4024.              permits the output link bandwidth available at that
  4025.              priority level, to be shared between the waiting rooms
  4026.              allocated to that priority level, according to the Net
  4027.              Weight parameter of each waiting room.  The value 0xFF for
  4028.              both parameters indicates that this output port does not
  4029.              support weighted sharing in any priority level.
  4030.  
  4031.  
  4032.  
  4033.  
  4034. Newman, et. al.              Informational                     [Page 72]
  4035.  
  4036. RFC 2297          Ipsilon's General Switch Management         March 1998
  4037.  
  4038.  
  4039.    Max Classes
  4040.              If bit 3 of the Scheduler Flags field is zero, Max Classes
  4041.              gives the maximum number of QoS classes that may be
  4042.              supported by this switch port. In this case the maximum
  4043.              number of QoS classes that may be supported by this switch
  4044.              port is not affected by the number of QoS classes in use by
  4045.              other switch ports.  If bit 3 of the Scheduler Flags field
  4046.              is set, Max Classes gives the maximum number of QoS classes
  4047.              that may be supported by the entire switch. In this case it
  4048.              is assumed that use of these QoS classes may be distributed
  4049.              among the various switch ports.
  4050.  
  4051.    Default Size
  4052.              The size of waiting room that this output port allocates by
  4053.              default. The actual size of waiting room may be specified
  4054.              in the Scheduler Establishment message. The size of a
  4055.              waiting room specifies the maximum number of cells
  4056.              permitted to wait for transmission via that waiting room.
  4057.              Any further cells arriving at that waiting room beyond this
  4058.              number will be discarded.
  4059.  
  4060.    Default Discard Threshold
  4061.              The value of discard threshold that this output port
  4062.              allocates by default. The actual value of discard threshold
  4063.              may be specified in the Scheduler Establishment message.
  4064.              The discard threshold specifies the number of cells waiting
  4065.              for transmission via a waiting room after which further
  4066.              arriving cells will be subject to a discard mechanism.
  4067.  
  4068.    Max Buffer
  4069.              The maximum amount of buffer space, measured in cells,
  4070.              available to this port. If bit 7 of the Scheduler Flags
  4071.              field is zero this, buffer space is not shared with other
  4072.              ports. If bit 7 of the Scheduler Flags field is set, at
  4073.              least some of this buffer space is shared with other ports.
  4074.  
  4075.    Max Shaper Buffer
  4076.              The maximum amount of buffer space, measured in cells,
  4077.              available to a QoS connection or a QoS class within the
  4078.              shaper function of the regulator. This shaper buffer space
  4079.              is likely to be shared among all QoS classes and QoS
  4080.              connections using the shaper, so there is no guarantee that
  4081.              the amount of buffer space defined by the Max Shaper Buffer
  4082.              field will be available to any particular QoS class or QoS
  4083.              connection.
  4084.  
  4085.  
  4086.  
  4087.  
  4088.  
  4089.  
  4090. Newman, et. al.              Informational                     [Page 73]
  4091.  
  4092. RFC 2297          Ipsilon's General Switch Management         March 1998
  4093.  
  4094.  
  4095.    Scaling Factor
  4096.              The QoS Class Establishment and QoS Connection Management
  4097.              messages require parameters that describe cell rates in
  4098.              cells per second or their reciprocal, cell interarrival
  4099.              periods, in seconds per cell. In order that these
  4100.              parameters may be specified with a 32-bit unsigned integer,
  4101.              the switch defines a Scaling Factor to be used in defining
  4102.              such parameters. By appropriate choice of the Scaling
  4103.              Factor the switch can select the range and granularity of
  4104.              rate or time that can be specified with the 32-bit unsigned
  4105.              integer.  Further details are given in the discussion of
  4106.              the UPC Parameters field of the QoS Connection Management
  4107.              message.
  4108.  
  4109. 9.3 Scheduler Establishment Message
  4110.  
  4111.    The Scheduler Establishment message is used to configure the
  4112.    scheduler on a specified output port. It is used to configure a
  4113.    waiting room, attach it to a leaf of the scheduler tree, and return a
  4114.    Scheduler Identifier to reference the waiting room. The Scheduler
  4115.    Establishment message may also be used to modify the parameters of an
  4116.    already established waiting room.
  4117.  
  4118.    Scheduler Identifiers in the range 0--255 represent default values.
  4119.    They are used for the priority levels that may be specified in the
  4120.    Class of Service field of Connection Management messages without
  4121.    requiring explicit establishment via a Scheduler Establishment
  4122.    message.  Each of these default values specifies a single waiting
  4123.    room with default parameters, configured as a FIFO queue, on each of
  4124.    the valid scheduler priority levels. (This permits Connection
  4125.    Management messages to continue to specify QoS requirements as a
  4126.    priority without requiring the use of any of the QoS messages.) The
  4127.    number of priority levels available to the scheduler is specified in
  4128.    the Priorities field of the Port Configuration and All Ports
  4129.    Configuration messages.
  4130.  
  4131.    The Scheduler Establishment Message is:
  4132.  
  4133.       Message Type = 97
  4134.  
  4135.    The Scheduler Establishment request and success response messages
  4136.    have the following format:
  4137.  
  4138.  
  4139.  
  4140.  
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146. Newman, et. al.              Informational                     [Page 74]
  4147.  
  4148. RFC 2297          Ipsilon's General Switch Management         March 1998
  4149.  
  4150.  
  4151.     0                   1                   2                   3
  4152.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  4153.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4154.    |    Version    | Message Type  |    Result     |     Code      |
  4155.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4156.    |                    Transaction Identifier                     |
  4157.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4158.    |                             Port                              |
  4159.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4160.    |                      Port Session Number                      |
  4161.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4162.    |     Scheduler Identifier      |          Net Weight           |
  4163.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4164.    |           Reserved            |D|F|M|W|x x x x|   Priority    |
  4165.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4166.    |                       Waiting Room Size                       |
  4167.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4168.    |                       Discard Threshold                       |
  4169.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4170.  
  4171.    Scheduler Identifier
  4172.              The Scheduler Identifier is selected by the controller. It
  4173.              is used to identify the waiting room being established or
  4174.              modified in future messages. The Scheduler Identifier is
  4175.              taken from a namespace that is local to the switch port. A
  4176.              Scheduler Identifier in the Scheduler Establishment message
  4177.              must be greater than 0x00FF but less than 0xFFFF. The
  4178.              values 0 -- 0x00FF are reserved for use as default values.
  4179.              The default values of the Scheduler Identifier are used to
  4180.              specify the default settings for the scheduler. Each of the
  4181.              default values maps directly to one of the scheduler
  4182.              priority levels.  The value 0xFFFF is reserved for use in
  4183.              the QoS Connection Management message.
  4184.  
  4185.    Net Weight
  4186.              The Net Weight specifies the share of the bandwidth
  4187.              available to the priority level, specified by the Priority
  4188.              field, that should be given to this waiting room.  The Net
  4189.              Weight parameter is only valid if the priority level
  4190.              specified by the Priority field supports weighted sharing.
  4191.  
  4192.              The Net Weight is an unsigned 16-bit field specifying a
  4193.              binary fraction.  I.e. the bandwidth share, as a fraction
  4194.              of the bandwidth available to the priority level, is given
  4195.              by:
  4196.  
  4197.                 Bandwidth share = Net Weight * 2**(-16)
  4198.  
  4199.  
  4200.  
  4201.  
  4202. Newman, et. al.              Informational                     [Page 75]
  4203.  
  4204. RFC 2297          Ipsilon's General Switch Management         March 1998
  4205.  
  4206.  
  4207.              A Net Weight of zero indicates equal sharing between all
  4208.              waiting rooms sharing this priority level that request a
  4209.              Net Weight of zero.  While a 16-bit field is used to
  4210.              specify the Net Weight it is understood that the accuracy
  4211.              of the bandwidth sharing is hardware dependent and is not
  4212.              specified.
  4213.  
  4214.              If weighted sharing is not required at a particular
  4215.              priority level, a waiting room with a Net Weight value of
  4216.              0xFFFF must be specified for that priority level. A
  4217.              priority level that does not support weighted sharing can
  4218.              only support a single waiting room.
  4219.  
  4220.    Flags
  4221.  
  4222.         D: Packet Discard
  4223.              Bit 0 of the Flags field, if set, indicates that packet
  4224.              discard is required on all connections and QoS classes
  4225.              routed through this waiting room.
  4226.  
  4227.         F: Frame-Based Scheduling
  4228.              Bit 1 of the Flags field, if set, indicates that frame-
  4229.              based scheduling is required on all connections and QoS
  4230.              classes routed through this waiting room.  In frame-based
  4231.              scheduling, a connection is only scheduled for transmission
  4232.              when a complete AAL-5 packet is available.  When a
  4233.              connection is scheduled for transmission, all cells
  4234.              belonging to one or more complete packets from that
  4235.              connection will be transmitted without being interleaved
  4236.              with any other cells on that output port. A QoS class may
  4237.              be routed through a waiting room configured with frame-
  4238.              based scheduling.  In this case each component connection
  4239.              of the QoS class will receive frame based scheduling. For
  4240.              correct distribution of bandwidth, each QoS class that
  4241.              requires frame-based scheduling should have its own waiting
  4242.              room.
  4243.  
  4244.         M: VC Merging
  4245.              Bit 2 of the Scheduler Flags field, if set, indicates that
  4246.              VC merging is required on all connections and QoS classes
  4247.              routed through this waiting room.  VC merging enables the
  4248.              multipoint-to-point merging of two or more incoming virtual
  4249.              connections onto a single outgoing virtual connection,
  4250.              without interleaving cells from different AAL-5 packets
  4251.              that bear the same VPI/VCI. VC merging differs from frame-
  4252.              based scheduling in that cells with a different VPI/VCI may
  4253.              be interleaved with those of a multipoint-to-point VC
  4254.              merging connection.  Most switches achieve VC merging by
  4255.  
  4256.  
  4257.  
  4258. Newman, et. al.              Informational                     [Page 76]
  4259.  
  4260. RFC 2297          Ipsilon's General Switch Management         March 1998
  4261.  
  4262.  
  4263.              using frame-based scheduling.  A QoS class may be routed
  4264.              through a waiting room configured with VC merging.  In this
  4265.              case each component connection of the QoS class will
  4266.              receive VC merging.
  4267.  
  4268.         W: Weighted Scheduling
  4269.              Bit 3 of the Flags field, if set, indicates that weighted
  4270.              scheduling is required on all connections and QoS classes
  4271.              routed through this waiting room.  All connections and QoS
  4272.              classes routed through this waiting room will require a
  4273.              Connection Weight or a QoS Class Weight respectively. The
  4274.              Connection Weight is specified in the QoS Connection
  4275.              Management message. The QoS Class Weight is specified in
  4276.              the QoS Class Establishment message. If weighted scheduling
  4277.              within this waiting room is unavailable, a failure response
  4278.              message must be returned indicating, "Weighted scheduling
  4279.              within this waiting room is unavailable."
  4280.  
  4281.              Bit 3 of the Flags field, if zero, indicates that this
  4282.              waiting room should be configured as a single FIFO queue.
  4283.              All cells arriving at this waiting room will receive
  4284.              first-in-first-out service. If Frame-Based Scheduling or VC
  4285.              Merging are also selected, the strict first-in-first-out
  4286.              service discipline will be modified by the requirement to
  4287.              support Frame-Based Scheduling or VC Merging.
  4288.  
  4289.         x: Bits 4--7 of the Flags field are not used.
  4290.  
  4291.    Priority
  4292.              Specifies the priority level in the scheduler to which the
  4293.              waiting room should be attached. Priorities are numbered
  4294.              from zero, with priority level zero being the highest
  4295.              priority.
  4296.  
  4297.    Waiting Room Size
  4298.              The required size of the waiting room.  The size of a
  4299.              waiting room specifies the maximum number of cells
  4300.              permitted to wait for transmission via that waiting room.
  4301.              Any further cells arriving at that waiting room beyond this
  4302.              number will be discarded. If the switch is unable to grant
  4303.              the size requested in the Scheduler Establishment request
  4304.              message it may reply with the actual size allocated to the
  4305.              waiting room in the Waiting Room Size field of the success
  4306.              response message.  A value of zero for the Waiting Room
  4307.              Size indicates that the default value should be used.
  4308.  
  4309.  
  4310.  
  4311.  
  4312.  
  4313.  
  4314. Newman, et. al.              Informational                     [Page 77]
  4315.  
  4316. RFC 2297          Ipsilon's General Switch Management         March 1998
  4317.  
  4318.  
  4319.    Discard Threshold
  4320.              The required value of the discard threshold.  The discard
  4321.              threshold specifies the number of cells waiting for
  4322.              transmission via a waiting room after which further
  4323.              arriving cells will be subject to a discard mechanism. The
  4324.              value of the Discard Threshold must be less than or equal
  4325.              to the value of the Waiting Room Size parameter for any
  4326.              given waiting room. If the switch is unable to grant the
  4327.              value of discard threshold requested in the Scheduler
  4328.              Establishment request message it may reply with the actual
  4329.              value of discard threshold allocated to the waiting room in
  4330.              the Discard Threshold field of the success response
  4331.              message.  A value of zero for the Discard Threshold
  4332.              indicates that the default value should be used.
  4333.  
  4334.  
  4335. 9.4 QoS Class Establishment Message
  4336.  
  4337.    The QoS Class Establishment message is used to configure a QoS class
  4338.    on a specified port or to modify the parameters of an already
  4339.    established QoS class.  It configures the classifier and the
  4340.    regulator functions for the QoS class. It also configures the QoS
  4341.    class policer if a policing function is available for QoS classes.
  4342.  
  4343.    Two styles of QoS class are available. In one style each component
  4344.    connection of the QoS class may be routed independently to an output
  4345.    port and waiting room specified in its connection management message.
  4346.    In this case the Scheduler Identifier, and if required, the Excess
  4347.    Scheduler Id, are specified in the QoS Connection Management message
  4348.    that references this style of QoS class.  In the alternative style of
  4349.    QoS class, all component connections in the QoS class are routed to
  4350.    the same waiting room on the same output port. In this case the
  4351.    Output Port, the Scheduler Identifier, and if required, the Excess
  4352.    Scheduler Id, are specified in the QoS Class Establishment message.
  4353.  
  4354.    The classifier and regulator functions must be located together,
  4355.    either on an input port, on an output port, or centralized. Each port
  4356.    declares the location of its classifier and regulator functions at
  4357.    initialization using the QoS Configuration message. If the classifier
  4358.    and regulator functions are located on an input port, only
  4359.    connections that arrive at that input port may join a QoS class
  4360.    established on that port. However, each connection that is part of a
  4361.    QoS class established on that port may be switched to a different
  4362.    output port. If the classifier and regulator functions are located on
  4363.    an output port, connections that arrive at any input port may join a
  4364.    QoS class established on that port. However, all connections within a
  4365.    QoS class established on that port must be switched to that output
  4366.    port. For a centralized classifier and regulator function, there is
  4367.  
  4368.  
  4369.  
  4370. Newman, et. al.              Informational                     [Page 78]
  4371.  
  4372. RFC 2297          Ipsilon's General Switch Management         March 1998
  4373.  
  4374.  
  4375.    no restriction on the input ports on which connections in a QoS class
  4376.    must arrive, or on the output ports to which connections in a QoS
  4377.    class must be switched.  (For the case of a centralized classifier
  4378.    and regulator the actual port specified in the QoS Class
  4379.    Establishment message is used only for administrative purposes.  Any
  4380.    valid value of Port and Port Session Number, that specifies a
  4381.    centralized classifier and regulator function, may be used.)
  4382.  
  4383.    The QoS Class Establishment message is:
  4384.  
  4385.       Message Type = 98
  4386.  
  4387.    The QoS Class Establishment request and success response messages
  4388.    have the following format:
  4389.  
  4390.     0                   1                   2                   3
  4391.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  4392.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4393.    |    Version    | Message Type  |    Result     |     Code      |
  4394.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4395.    |                    Transaction Identifier                     |
  4396.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4397.    |                             Port                              |
  4398.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4399.    |                      Port Session Number                      |
  4400.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4401.    |                      QoS Class Identifier                     |
  4402.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4403.    |   Regulator   | Excess Action |       QoS Class Weight        |
  4404.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4405.    |     Scheduler Identifier      |      Excess Scheduler Id      |
  4406.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4407.    |                          Output Port                          |
  4408.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4409.    |                                                               |
  4410.    ~                 QoS Class Policer Parameters                  ~
  4411.    |                                                               |
  4412.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4413.    |                                                               |
  4414.    ~                QoS Class Regulator Parameters                 ~
  4415.    |                                                               |
  4416.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4417.  
  4418.    QoS Class Identifier
  4419.              The QoS Class Identifier is selected by the controller. It
  4420.              is used to identify the QoS class being established or
  4421.              modified, in future QoS Connection Management and QoS Class
  4422.              Establishment messages.  It is taken from a namespace that
  4423.  
  4424.  
  4425.  
  4426. Newman, et. al.              Informational                     [Page 79]
  4427.  
  4428. RFC 2297          Ipsilon's General Switch Management         March 1998
  4429.  
  4430.  
  4431.              is global across the entire switch. No two QoS classes may
  4432.              have the same QoS Class Identifier regardless of the switch
  4433.              ports on which they are defined. A QoS Class Identifier in
  4434.              a QoS Class Establishment message must be greater than 0
  4435.              and less than 0xFFFFFFFF.
  4436.  
  4437.    Regulator
  4438.              The Regulator field specifies which function is required of
  4439.              the regulator.  Three possible functions are currently
  4440.              defined: none, policing, and shaping.
  4441.  
  4442.                 None:      Regulator = 1
  4443.                 Policing:  Regulator = 2
  4444.                 Shaping:   Regulator = 3
  4445.  
  4446.              If the Regulator function is specified as none, no
  4447.              operations are performed by the regulator on the cells
  4448.              output from the classifier. Cells output from the
  4449.              classifier are transferred directly to the waiting room
  4450.              specified by the Scheduler Identifier.
  4451.  
  4452.              If policing is specified, a token bucket policer will be
  4453.              applied to the QoS class. The policer determines which
  4454.              cells conform to the specified policer traffic parameters
  4455.              and which do not. Conforming cells are transferred directly
  4456.              to the waiting room specified by the Scheduler Identifier.
  4457.              The action to be taken by the policer on the excess traffic
  4458.              is specified by the Excess Action field. The policer
  4459.              traffic parameters are specified in the QoS Class Regulator
  4460.              Parameters fields.
  4461.  
  4462.              If shaping is specified, traffic shaping will be applied to
  4463.              the QoS class.  Cells in a QoS class should leave the
  4464.              regulator spaced evenly apart at a rate defined by the QoS
  4465.              Class Regulator Parameters fields.  These cells are
  4466.              transferred directly to the waiting room specified by the
  4467.              Scheduler Identifier.  The jitter on the conforming cell
  4468.              stream on exit from the shaping function of the regulator
  4469.              is not specified.
  4470.  
  4471.    Excess Action
  4472.  
  4473.          0 1 2 3 4 5 6 7
  4474.         +-+-+-+-+-+-+-+-+
  4475.         |T|D|S|x x x x x|
  4476.         +-+-+-+-+-+-+-+-+
  4477.  
  4478.  
  4479.  
  4480.  
  4481.  
  4482. Newman, et. al.              Informational                     [Page 80]
  4483.  
  4484. RFC 2297          Ipsilon's General Switch Management         March 1998
  4485.  
  4486.  
  4487.         T: Tagging
  4488.              If bit 0 of the Excess Action field is set, all cells
  4489.              transferred to the waiting room specified by the Excess
  4490.              Scheduler Id will have their CLP bit set. If bit 0 of the
  4491.              Excess Action field is zero, the CLP bit of cells
  4492.              transferred to the waiting room specified by the Excess
  4493.              Scheduler Id will remain unchanged.
  4494.  
  4495.         D: Discard
  4496.              This function is only available if policing is selected as
  4497.              the regulator function.  If the Regulator field specifies
  4498.              Policing, and bit 1 of the Excess Action field is set, all
  4499.              cells determined by the policer to be in excess of the
  4500.              traffic parameters must be discarded. In this case the
  4501.              Excess Scheduler Id is not used and bit 0 of the Excess
  4502.              Action field should be ignored.
  4503.  
  4504.         S: Differentiated Scheduling
  4505.              This function operates differently according to whether
  4506.              policing or shaping is selected as the regulator function.
  4507.  
  4508.              If the Regulator field specifies Policing, and bit 1 of the
  4509.              Excess Action field is zero, and bit 2 of the Excess Action
  4510.              field is set, all cells determined by the policer to be in
  4511.              excess of the traffic parameters must be transferred to the
  4512.              waiting room specified by the Excess Scheduler Id.  In this
  4513.              case care must be taken in the implementation to ensure
  4514.              that within each virtual path connection or virtual channel
  4515.              connection, cells depart in the same order that they
  4516.              arrived.  If the Regulator field specifies Policing, and
  4517.              bit 1 of the Excess Action field is zero, and bit 2 of the
  4518.              Excess Action field is zero, all cells determined by the
  4519.              policer to be in excess of the traffic parameters must be
  4520.              transferred to the waiting room specified by the Scheduler
  4521.              Identifier.  In this case the Excess Scheduler Id is not
  4522.              used.
  4523.  
  4524.              If the Regulator field specifies Shaping, and bit 2 of the
  4525.              Excess Action field is zero, cells will be transferred from
  4526.              the QoS class to the waiting room pointed to by the
  4527.              Scheduler Identifier at a rate defined by the QoS Class
  4528.              Regulator Parameters. In this case the Excess Scheduler Id
  4529.              is not used.  If the Regulator field specifies Shaping, and
  4530.              bit 2 of the Excess Action field is set, additional cells
  4531.              will be scheduled for transmission by the waiting room
  4532.              pointed to by the Excess Scheduler Id. This permits a
  4533.              minimum cell rate to be allocated to the QoS class using
  4534.              the QoS Class Regulator Parameters and additional bandwidth
  4535.  
  4536.  
  4537.  
  4538. Newman, et. al.              Informational                     [Page 81]
  4539.  
  4540. RFC 2297          Ipsilon's General Switch Management         March 1998
  4541.  
  4542.  
  4543.              to be shared by the QoS class. The additional share of
  4544.              bandwidth is determined according to the parameters of the
  4545.              waiting room pointed to by the Excess Scheduler Id. If the
  4546.              Excess Scheduler Id is specified in the QoS Class
  4547.              Establishment message, the additional bandwidth will be
  4548.              shared by the entire QoS class. If the Excess Scheduler Id
  4549.              is specified in each individual QoS Connection Management
  4550.              message, the additional bandwidth is specific to that
  4551.              connection and not shared by the entire QoS class. Care
  4552.              must be taken in the implementation to ensure that within
  4553.              each virtual path connection or virtual channel connection,
  4554.              cells depart in the same order that they arrived.
  4555.  
  4556.         x: Bits 3--7 of the Excess Action field are not used.
  4557.  
  4558.    QoS Class Weight
  4559.              If bit 1 of the Scheduler Flags field of the QoS
  4560.              Configuration message indicates that weighted service may
  4561.              be applied to a QoS class, the QoS Class Weight parameter
  4562.              specifies the share of the bandwidth available to the
  4563.              waiting room that should be given to this QoS class.
  4564.  
  4565.              The QoS Class Weight is an unsigned 16-bit field specifying
  4566.              a binary fraction.  I.e. the bandwidth share, as a fraction
  4567.              of the bandwidth available to the waiting room, is given
  4568.              by:
  4569.  
  4570.                 Bandwidth share = QoS Class Weight * 2**(-16)
  4571.  
  4572.              A QoS Class Weight of zero indicates equal sharing between
  4573.              all QoS classes sharing this waiting room that request a
  4574.              QoS Class Weight of zero.  While a 16-bit field is used to
  4575.              specify the QoS Class Weight it is understood that the
  4576.              accuracy of the bandwidth sharing is hardware dependent and
  4577.              is not specified.
  4578.  
  4579.              If the Regulator field of the QoS Class Establishment
  4580.              message indicates None, or Policer, the QoS Class Weight
  4581.              should be applied to the waiting room pointed to by the
  4582.              Scheduler Identifier. If the Regulator field of the QoS
  4583.              Class Establishment message indicates Shaper, the QoS Class
  4584.              Weight should be applied to the waiting room pointed to by
  4585.              the Excess Scheduler Id.
  4586.  
  4587.              If the specified waiting room is unable to offer weighted
  4588.              sharing for a QoS class, a failure response message should
  4589.              be returned with the failure code indicating: "This waiting
  4590.              room is unable to offer weighted sharing for a QoS class."
  4591.  
  4592.  
  4593.  
  4594. Newman, et. al.              Informational                     [Page 82]
  4595.  
  4596. RFC 2297          Ipsilon's General Switch Management         March 1998
  4597.  
  4598.  
  4599.    Scheduler Identifier
  4600.              If all conforming traffic from this QoS class is directed
  4601.              to the same waiting room, on the same output port, this
  4602.              field specifies the Scheduler Identifier for the entire QoS
  4603.              class. The Scheduler Identifier points to the waiting room,
  4604.              on the output port specified by the Output Port field, to
  4605.              which all conforming traffic should be sent.  If this field
  4606.              is not used it should be set to 0xFFFF. If each component
  4607.              connection of the QoS class specifies its own output port
  4608.              and waiting room, the Scheduler Identifier must be
  4609.              specified in the QoS Connection Management message and this
  4610.              field must be set to 0xFFFF.
  4611.  
  4612.    Excess Scheduler Id
  4613.              If all conforming traffic from this QoS class is directed
  4614.              to the same waiting room, on the same output port, this
  4615.              field specifies the Excess Scheduler Id for the entire QoS
  4616.              class. The Excess Scheduler Id points to the waiting room,
  4617.              on the output port specified by the Output Port field, to
  4618.              which all excess traffic should be sent.  If this field is
  4619.              not used it should be set to 0xFFFF. If each component
  4620.              connection of the QoS class specifies its own output port
  4621.              and waiting room, the Excess Scheduler Id must be specified
  4622.              in the QoS Connection Management message and this field
  4623.              must be set to 0xFFFF. If the Scheduler Id is specified in
  4624.              the QoS Class Establishment message, the Excess Scheduler
  4625.              Id must also be specified in the QoS Class Establishment
  4626.              message (or not used). If the Scheduler Id is specified in
  4627.              the QoS Connection Management message, the Excess Scheduler
  4628.              Id must also be specified in the QoS Connection Management
  4629.              message (or not used). The Excess Scheduler Id must not
  4630.              point to the same waiting room on the same output port as
  4631.              the Scheduler Identifier.
  4632.  
  4633.    Output Port
  4634.              If the Scheduler Identifier field in the QoS Establishment
  4635.              message is not 0xFFFF the Output Port field specifies the
  4636.              Output Port to which traffic from this QoS class should be
  4637.              routed. If the Scheduler Identifier field in the QoS
  4638.              Establishment message is 0xFFFF, this field is not used.
  4639.  
  4640.    QoS Class Policer Parameters
  4641.              A policer function may be applied to a QoS class on output
  4642.              from the classifier independently of the regulator
  4643.              function.  The QoS class policer function is identical to
  4644.              the connection policer function defined in the QoS
  4645.  
  4646.  
  4647.  
  4648.  
  4649.  
  4650. Newman, et. al.              Informational                     [Page 83]
  4651.  
  4652. RFC 2297          Ipsilon's General Switch Management         March 1998
  4653.  
  4654.  
  4655.              Connection Management message with the exception that it
  4656.              applies to all cells that belong to the QoS class rather
  4657.              than just cells that belong to a single connection.
  4658.  
  4659.              The QoS Class Policer Parameters have the following format:
  4660.  
  4661.     0                   1                   2                   3
  4662.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  4663.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4664.    |                     QoS Class Increment-1                     |
  4665.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4666.    |                       QoS Class Limit-1                       |
  4667.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4668.    |                     QoS Class Increment-2                     |
  4669.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4670.    |                       QoS Class Limit-2                       |
  4671.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4672.    |                  Reserved                     |C|A|x x x x x x|
  4673.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4674.  
  4675.              The definition of these fields is given in the UPC
  4676.              Parameters section of the QoS Connection Management
  4677.              message.
  4678.  
  4679.    QoS Class Regulator Parameters
  4680.              The QoS class regulator function is identical to the
  4681.              regulator function defined in the QoS Connection Management
  4682.              message with the exception that it applies to all cells
  4683.              that belong to the QoS class rather than just cells that
  4684.              belong to a single connection.
  4685.  
  4686.              The QoS Class Regulator Parameters have the following
  4687.              format:
  4688.  
  4689.     0                   1                   2                   3
  4690.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  4691.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4692.    |                QoS Class Regulator Increment                  |
  4693.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4694.    |                  QoS Class Regulator Limit                    |
  4695.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4696.  
  4697.              The definition of these fields is given in the Regulator
  4698.              Parameters section of the QoS Connection Management
  4699.              message.
  4700.  
  4701.  
  4702.  
  4703.  
  4704.  
  4705.  
  4706. Newman, et. al.              Informational                     [Page 84]
  4707.  
  4708. RFC 2297          Ipsilon's General Switch Management         March 1998
  4709.  
  4710.  
  4711. 9.5 QoS Release Message
  4712.  
  4713.    The QoS Release message is used to delete a Scheduler Identifier or a
  4714.    QoS Class Identifier and to release all resources associated with it.
  4715.  
  4716.    The QoS Release message is:
  4717.  
  4718.       Message Type = 99
  4719.  
  4720.    The QoS Release request and success response messages have the
  4721.    following format:
  4722.  
  4723.     0                   1                   2                   3
  4724.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  4725.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4726.    |    Version    | Message Type  |    Result     |     Code      |
  4727.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4728.    |                    Transaction Identifier                     |
  4729.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4730.    |                             Port                              |
  4731.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4732.    |                      Port Session Number                      |
  4733.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4734.    |           Reserved            |     Scheduler Identifier      |
  4735.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4736.    |                      QoS Class Identifier                     |
  4737.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4738.  
  4739.    Port
  4740.              If the QoS Release message contains a Scheduler Identifier,
  4741.              the Port field must contain the Port Number of the switch
  4742.              output port to which the Scheduler Identifier applies. If
  4743.              the QoS Release message contains a QoS Class Identifier,
  4744.              any valid Port number may be used. (The QoS Class
  4745.              Identifier has a global namespace.)
  4746.  
  4747.    Port Session Number
  4748.              The current Port Session Number for the port specified in
  4749.              the Port field.
  4750.  
  4751.    Scheduler Identifier
  4752.              If the Scheduler Identifier contains the value 0xFFFF the
  4753.              QoS Class Identifier specified in the QoS Class Identifier
  4754.              field should be released.  Else, if the value of the
  4755.              Scheduler Identifier lies in the range 0x0100 -- 0xFFFE
  4756.              inclusive, the Scheduler Identifier specified by the
  4757.              Scheduler Identifier field should be released.  A Scheduler
  4758.  
  4759.  
  4760.  
  4761.  
  4762. Newman, et. al.              Informational                     [Page 85]
  4763.  
  4764. RFC 2297          Ipsilon's General Switch Management         March 1998
  4765.  
  4766.  
  4767.              Identifier with a value less than 0x0100 is invalid in a
  4768.              QoS Release message.  (It specifies a default value which
  4769.              may not be released.)
  4770.  
  4771.    QoS Class Identifier
  4772.              If the Scheduler Identifier contains the value 0xFFFF the
  4773.              QoS Class Identifier field specifies the QoS Class
  4774.              Identifier to be released.
  4775.  
  4776.    If the QoS Release message requests that a Scheduler Identifier be
  4777.    released, and the Scheduler Identifier is still in use by one or more
  4778.    established connections, a failure response must be returned with the
  4779.    failure code indicating: "Scheduler Identifier still in use." If the
  4780.    QoS Release message requests that a QoS Class Identifier be released,
  4781.    and the QoS Class Identifier is still in use by one or more
  4782.    established connections, a failure response must be returned with the
  4783.    failure code indicating: "QoS Class Identifier still in use."
  4784.  
  4785. 9.6 QoS Connection Management Message
  4786.  
  4787.    The QoS Connection Management message is used by the controller to
  4788.    establish and modify virtual channel connections and virtual path
  4789.    connections across the switch which require QoS parameters to be
  4790.    specified. The functionality of the QoS Connection Management message
  4791.    is identical to that of the Add Branch connection management message
  4792.    with the additional specification of QoS parameters.  No specific QoS
  4793.    connection release messages are defined. QoS connections may be
  4794.    released with the Delete Tree, Delete All, and Delete Branches
  4795.    messages defined in Section 4, "Connection Management Messages." When
  4796.    a QoS connection is released, all associated QoS resources are
  4797.    released.
  4798.  
  4799.    There are three styles of connection with specified QoS parameters:
  4800.  
  4801.    QoS Connection:
  4802.       This connection style specifies its own individual QoS parameters
  4803.       and is routed independently to the waiting room and output port
  4804.       specified in the QoS Connection Management message. It is not a
  4805.       member of a QoS class. Each output branch of a point-to-multipoint
  4806.       QoS connection may specify its own QoS parameters which may be
  4807.       different from all other output branches of that point-to-
  4808.       multipoint QoS connection, if the switch supports this capability.
  4809.       However, all output branches must specify identical connection
  4810.       policer parameters. A QoS Connection Management message requesting
  4811.       this style of connection is identified by a QoS Class Identifier
  4812.       with the value 0xFFFFFFFF.
  4813.  
  4814.  
  4815.  
  4816.  
  4817.  
  4818. Newman, et. al.              Informational                     [Page 86]
  4819.  
  4820. RFC 2297          Ipsilon's General Switch Management         March 1998
  4821.  
  4822.  
  4823.    QoS Class Connection:
  4824.       This connection style does not specify its own individual QoS
  4825.       parameters. It is a member of a QoS class, and the QoS parameters
  4826.       are specified by the QoS class.  It is, however, routed
  4827.       independently to the waiting room and output port specified in the
  4828.       QoS Connection Management message.  Each output branch of a
  4829.       point-to-multipoint QoS Class Connection must use the same QoS
  4830.       parameters. A QoS Connection Management message requesting this
  4831.       style of connection will have a valid QoS Class Identifier and a
  4832.       valid Scheduler Identifier.
  4833.  
  4834.    QoS Class Member:
  4835.       This connection style does not specify its own individual QoS
  4836.       parameters. It is a member of a QoS class, and the QoS parameters
  4837.       are specified by the QoS class.  The QoS class also specifies the
  4838.       waiting room and output port to which all members of the class are
  4839.       routed. This style of connection does not support point-to-
  4840.       multipoint connections. A QoS Connection Management message
  4841.       requesting this style of connection will have a valid QoS Class
  4842.       Identifier and a Scheduler Identifier with the value 0xFFFF.
  4843.  
  4844.    To request a virtual channel connection with specified QoS
  4845.    parameters, the Virtual Channel Connection (VCC) QoS Connection
  4846.    Management message is:
  4847.  
  4848.       Message Type = 100.
  4849.  
  4850.    To request a virtual path connection with specified QoS parameters,
  4851.    the Virtual Path Connection (VPC) QoS Connection Management message
  4852.    is:
  4853.  
  4854.       Message Type = 101.
  4855.  
  4856.    The QoS Connection Management message has the following format for
  4857.    both request and response messages:
  4858.  
  4859.  
  4860.  
  4861.  
  4862.  
  4863.  
  4864.  
  4865.  
  4866.  
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.  
  4873.  
  4874. Newman, et. al.              Informational                     [Page 87]
  4875.  
  4876. RFC 2297          Ipsilon's General Switch Management         March 1998
  4877.  
  4878.  
  4879.     0                   1                   2                   3
  4880.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  4881.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4882.    |    Version    | Message Type  |    Result     |     Code      |
  4883.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4884.    |                    Transaction Identifier                     |
  4885.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4886.    |                      Port Session Number                      |
  4887.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4888.    |                          Input Port                           |
  4889.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4890.    |M|Q|B|C|      Input VPI        |          Input VCI            |
  4891.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4892.    |                          Output Port                          |
  4893.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4894.    |x x x x|      Output VPI       |          Output VCI           |
  4895.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4896.    |      Number of Branches       |     Scheduler Identifier      |
  4897.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4898.    |                      QoS Class Identifier                     |
  4899.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4900.    |   Regulator   | Excess Action |       Connection Weight       |
  4901.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4902.    |S|A|x x x x x x|   Reserved    |      Excess Scheduler Id      |
  4903.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4904.    |                                                               |
  4905.    ~                         UPC Parameters                        ~
  4906.    |                                                               |
  4907.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4908.    |                                                               |
  4909.    ~                      Regulator Parameters                     ~
  4910.    |                                                               |
  4911.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  4912.  
  4913.    Port Session Number
  4914.    Input Port
  4915.    Input VPI
  4916.    Input VCI
  4917.    Output Port
  4918.    Output VPI
  4919.    Output VCI
  4920.    Number of Branches
  4921.              The definition of these fields is exactly the same as
  4922.              defined for the Add Branch message in Section 4.1,
  4923.              "Connection Management Messages."
  4924.  
  4925.  
  4926.  
  4927.  
  4928.  
  4929.  
  4930. Newman, et. al.              Informational                     [Page 88]
  4931.  
  4932. RFC 2297          Ipsilon's General Switch Management         March 1998
  4933.  
  4934.  
  4935.    M B C Flags
  4936.              The definition of the M, B, and C flags is exactly the same
  4937.              as defined in Section 4, "Connection Management Messages."
  4938.              They apply to the QoS Connection Management message exactly
  4939.              as defined for the Add Branch message.
  4940.  
  4941.    Q: QoS Profile Flag The QoS Profile flag is not used in the QoS
  4942.              Connection Management message.
  4943.  
  4944.    Scheduler Identifier
  4945.              For QoS Connection and QoS Class Connection styles, the
  4946.              Scheduler Identifier points to the waiting room, on the
  4947.              output port specified by the Output Port field, to which
  4948.              all conforming traffic on the connection should be routed.
  4949.              The values 0 -- 255 specify the default settings for the
  4950.              scheduler. Each of the default values maps directly to one
  4951.              of the scheduler priority levels. A Scheduler Identifier in
  4952.              the range 0 -- 255 may be used without first being
  4953.              established by a Scheduler Establishment message. All
  4954.              Scheduler Identifiers in the range 0x0100 to 0xFFFE must
  4955.              first be established by a Scheduler Establishment message.
  4956.  
  4957.              A Scheduler Identifier with a value of 0xFFFF indicates
  4958.              that a QoS Class Member connection style is being
  4959.              requested. In this connection style, the waiting room and
  4960.              output port are specified by reference to the QoS class
  4961.              specified by the QoS Class Identifier field. In this case
  4962.              the QoS Class Identifier field must contain a valid QoS
  4963.              Class Identifier.
  4964.  
  4965.    QoS Class Identifier
  4966.              For QoS Class Connection and QoS Class Member connection
  4967.              styles, the QoS Class Identifier specifies the QoS Class to
  4968.              which the connection belongs. It must first be established
  4969.              by a QoS Class Establishment message and must have a value
  4970.              greater than 0 and less than 0xFFFFFFFF.
  4971.  
  4972.              A QoS Class Identifier with a value of 0xFFFFFFFF indicates
  4973.              that a connection of style "QoS Connection" is being
  4974.              requested. In this connection style, the connection does
  4975.              not belong to a QoS class. All QoS parameters are specified
  4976.              by the QoS Connection Management message and apply only to
  4977.              the specified connection.
  4978.  
  4979.    Regulator
  4980.    Excess Action
  4981.              The Regulator and Excess Action parameters are only used in
  4982.              connection requests of style "QoS Connection." The
  4983.  
  4984.  
  4985.  
  4986. Newman, et. al.              Informational                     [Page 89]
  4987.  
  4988. RFC 2297          Ipsilon's General Switch Management         March 1998
  4989.  
  4990.  
  4991.              definition of these fields in the QoS Connection Management
  4992.              message is exactly the same as defined for the QoS Class
  4993.              Establishment message with the exception that they apply to
  4994.              an individual connection rather than to an entire QoS
  4995.              class.
  4996.  
  4997.    Connection Weight
  4998.              This field is only used in connections of style "QoS
  4999.              Connection" and "QoS Class Connection." For QoS Class
  5000.              Member style connections, the QoS Class Weight parameter of
  5001.              the QoS Class Establishment message should be used to
  5002.              assign a weight to the QoS Class.
  5003.  
  5004.              If bit 0 of the Scheduler Flags field of the QoS
  5005.              Configuration message indicates that weighted service may
  5006.              be applied to a connection, the Connection Weight parameter
  5007.              specifies the share of the bandwidth available to the
  5008.              waiting room that should be given to this connection.
  5009.  
  5010.              The Connection Weight is an unsigned 16-bit field
  5011.              specifying a binary fraction.  I.e. the bandwidth share, as
  5012.              a fraction of the bandwidth available to the waiting room,
  5013.              is given by:
  5014.  
  5015.                 Bandwidth share = Connection Weight * 2**(-16)
  5016.  
  5017.              A Connection Weight of zero indicates equal sharing between
  5018.              all connections in this waiting room that request a
  5019.              Connection Weight of zero.  While a 16-bit field is used to
  5020.              specify the Connection Weight it is understood that the
  5021.              accuracy of the bandwidth sharing is hardware dependent and
  5022.              is not specified.
  5023.  
  5024.              For connections of style "QoS Class Connection," if the
  5025.              Regulator function of the QoS Class is specified as None,
  5026.              or Policer, the Connection Weight should be applied to the
  5027.              waiting room pointed to by the Scheduler Identifier field
  5028.              in the QoS Connection Management message. If the Regulator
  5029.              function of the QoS Class is specified as Shaper, the
  5030.              Connection Weight should be applied to the waiting room
  5031.              pointed to by the Excess Scheduler Id field in the QoS
  5032.              Connection Management message.
  5033.  
  5034.              For connections of style "QoS Connection," if the Regulator
  5035.              field of the QoS Connection Management message specifies
  5036.              None, or Policer, the Connection Weight should be applied
  5037.              to the waiting room pointed to by the Scheduler Identifier
  5038.              field. If the Regulator field of the QoS Connection
  5039.  
  5040.  
  5041.  
  5042. Newman, et. al.              Informational                     [Page 90]
  5043.  
  5044. RFC 2297          Ipsilon's General Switch Management         March 1998
  5045.  
  5046.  
  5047.              Management message specifies Shaper, the Connection Weight
  5048.              should be applied to the waiting room pointed to by the
  5049.              Excess Scheduler Id field.
  5050.  
  5051.              If the specified waiting room is unable to offer weighted
  5052.              sharing for a connection, a failure response message should
  5053.              be returned with the failure code indicating: "this waiting
  5054.              room is unable to offer weighted sharing for a connection."
  5055.  
  5056.    QoS Flags
  5057.  
  5058.         S: Selective Discard
  5059.              If the Selective Discard flag is set, only cells with the
  5060.              Cell Loss Priority (CLP) bit set will be subject to the
  5061.              discard mechanism when the number of cells in the waiting
  5062.              room exceeds the Discard Threshold.  If the Selective
  5063.              Discard flag is zero, all cells (CLP=0 and CLP=1) will be
  5064.              subject to the discard mechanism when the number of cells
  5065.              in the waiting room exceeds the Discard Threshold.
  5066.              Selective discard can be combined with packet discard. In
  5067.              this case only packets in which at least one cell has the
  5068.              CLP bit set will be subject to the discard mechanism.
  5069.  
  5070.         A: All Branches
  5071.              For a QoS Connection Management message that specifies a
  5072.              point-to-multipoint connection, if the All Branches flag is
  5073.              set, all branches of the point-to-multipoint connection
  5074.              must be set to the QoS parameters specified in the message.
  5075.              If the All Branches flag is zero, only the single output
  5076.              branch specified in the message should be set to the QoS
  5077.              parameters specified in the message. For a QoS Connection
  5078.              Management message that specifies a point-to-point
  5079.              connection, the All Branches flag is not used.
  5080.  
  5081.         x: Unused
  5082.  
  5083.    Excess Scheduler Id
  5084.              For connections of style "QoS Connection" and "QoS Class
  5085.              Connection," the Excess Scheduler Id points to the waiting
  5086.              room, on the output port specified by the Output Port
  5087.              field, to which all excess traffic should be routed. The
  5088.              values 0 -- 255 specify the default settings for the
  5089.              scheduler. Each of the default values maps directly to one
  5090.              of the scheduler priority levels. An Excess Scheduler Id in
  5091.              the range 0 -- 255 may be used without first being
  5092.              established by a Scheduler Establishment message. All
  5093.  
  5094.  
  5095.  
  5096.  
  5097.  
  5098. Newman, et. al.              Informational                     [Page 91]
  5099.  
  5100. RFC 2297          Ipsilon's General Switch Management         March 1998
  5101.  
  5102.  
  5103.              values of Excess Scheduler Id in the range 0x0100 to 0xFFFE
  5104.              must first be established by a Scheduler Establishment
  5105.              message.
  5106.  
  5107.              If this field is not used it should be set to 0xFFFF.  The
  5108.              Excess Scheduler Id must not point to the same waiting room
  5109.              on the same output port as the Scheduler Identifier.
  5110.  
  5111.    UPC Parameters
  5112.              All connection styles may be subject to a Usage Parameter
  5113.              Control (UPC) function, also known as a connection policer.
  5114.              The policing function is applied to each individual
  5115.              connection before it is combined with other connections
  5116.              into a QoS class by the classifier function. A policing
  5117.              function applied to an entire QoS class is defined in the
  5118.              QoS Class Establishment message.
  5119.  
  5120.              The connection policer is defined by reference to the
  5121.              Generic Cell Rate Algorithm (GCRA) defined by the ATM Forum
  5122.              [af-tm-0056], although any equivalent policing algorithm
  5123.              may be used. The GCRA takes two parameters, the increment
  5124.              (I) and the limit (L). The reciprocal of the increment
  5125.              (1/I) specifies the rate being policed. The limit specifies
  5126.              the burst tolerance. (For comparison with the token bucket
  5127.              policer discussed in [Partridge], the size of the token
  5128.              bucket is given by L/I.)
  5129.  
  5130.              Two policers in series may be specified to permit the
  5131.              policing of both peak rate and average rate (also called
  5132.              sustainable rate). The parameters for the first policer are
  5133.              Increment-1 and Limit-1. For comparison with the ATM Forum
  5134.              specification these would be used to police the Peak Cell
  5135.              Rate (PCR) and Cell Delay Variation Tolerance (CDVT)
  5136.              respectively. The parameters for the second policer are
  5137.              Increment-2 and Limit-2. For comparison with the ATM Forum
  5138.              specification these would be used to police the Sustainable
  5139.              Cell Rate (SCR), and Burst Tolerance.  (The Burst Tolerance
  5140.              may be computed from the Maximum Burst Size [af-tm-0056].)
  5141.  
  5142.              There are two configurations in which the two policers may
  5143.              be connected in series.  In the All Cells configuration,
  5144.              all cells (cells with the Cell Loss Priority (CLP) bit set
  5145.              to zero and cells with the CLP bit set to one) are subject
  5146.              to the policing action of both policers in series. In the
  5147.              CLP Selective configuration, all cells, both CLP=0 and
  5148.              CLP=1, are policed by the first policer; but only cells
  5149.  
  5150.  
  5151.  
  5152.  
  5153.  
  5154. Newman, et. al.              Informational                     [Page 92]
  5155.  
  5156. RFC 2297          Ipsilon's General Switch Management         March 1998
  5157.  
  5158.  
  5159.              with CLP=0 are subject to policing by the second policer.
  5160.              Either tagging or discard may be specified for each of the
  5161.              policer configurations.
  5162.  
  5163.              The values of the parameters Increment and Limit in the UPC
  5164.              Parameters fields are given in terms of a time unit
  5165.              specified by the switch in the QoS Configuration Parameters
  5166.              message. The time unit is specified by the switch as a
  5167.              rate, the Scaling Factor, which gives the rate in cells per
  5168.              second that would result from an Increment parameter value
  5169.              of one. Thus to determine the value of the Increment
  5170.              parameter from the desired policed rate given in cells per
  5171.              second:
  5172.  
  5173.                 Increment parameter = (Scaling_Factor)/(policed_rate)
  5174.  
  5175.              To determine the value of the Limit parameter from the
  5176.              desired Cell Delay Variation Tolerance (CDVT) given in
  5177.              seconds:
  5178.  
  5179.                 Limit parameter = CDVT * Scaling_Factor
  5180.  
  5181.              To determine the value of the Limit parameter from the
  5182.              desired Burst Tolerance (BT) given in seconds:
  5183.  
  5184.                 Limit parameter = BT * Scaling_Factor
  5185.  
  5186.              The Increment and Limit parameters are specified as 32-bit
  5187.              unsigned integers; so the choice of the Scaling Factor
  5188.              allows the switch to select the range and granularity of
  5189.              the policer parameters with respect to the line rate of the
  5190.              switch port.  For example, a SONET STS-3c (155.52 Mbps)
  5191.              switch port has a line rate of approximately 353 kcells/s.
  5192.              With a Scaling Factor value of 353,000,000 we can specify a
  5193.              policed rate slightly less than the line rate with a
  5194.              granularity of 0.1%. For a policed rate of 1 kbps we can
  5195.              still support a bucket size of 31 cells.
  5196.  
  5197.              The UPC Parameters have the following format:
  5198.  
  5199.  
  5200.  
  5201.  
  5202.  
  5203.  
  5204.  
  5205.  
  5206.  
  5207.  
  5208.  
  5209.  
  5210. Newman, et. al.              Informational                     [Page 93]
  5211.  
  5212. RFC 2297          Ipsilon's General Switch Management         March 1998
  5213.  
  5214.  
  5215.     0                   1                   2                   3
  5216.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  5217.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5218.    |                           Increment-1                         |
  5219.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5220.    |                             Limit-1                           |
  5221.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5222.    |                           Increment-2                         |
  5223.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5224.    |                             Limit-2                           |
  5225.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5226.    |                  Reserved                     |C|A|x x x x x x|
  5227.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5228.  
  5229.    Increment-1
  5230.              The increment parameter for the first policer, specified as
  5231.              a 32-bit unsigned integer.  A value of zero for the
  5232.              Increment-1 parameter is used to disable the first policer.
  5233.              In this case all cells will be considered to conform to the
  5234.              traffic parameters of the first policer.
  5235.  
  5236.    Limit-1
  5237.              The limit parameter for the first policer, specified as a
  5238.              32-bit unsigned integer.
  5239.  
  5240.    Increment-2
  5241.              The increment parameter for the second policer, specified
  5242.              as a 32-bit unsigned integer.  A value of zero for the
  5243.              Increment-2 parameter is used to disable the second
  5244.              policer.  In this case all cells will be considered to
  5245.              conform to the traffic parameters of the second policer.
  5246.  
  5247.    Limit-2
  5248.              The limit parameter for the second policer, specified as a
  5249.              32-bit unsigned integer.
  5250.  
  5251.    Flags
  5252.  
  5253.         C: Configuration
  5254.              If the Configuration flag is set, the policer should be set
  5255.              to the All Cells configuration. If the Configuration flag
  5256.              is zero, the policer should be set to the CLP Selective
  5257.              configuration.
  5258.  
  5259.              In the All Cells configuration, all cells (both CLP=0 and
  5260.              CLP=1) are subject to the policing action of both policers
  5261.              in series. In the CLP Selective configuration, all cells,
  5262.              both CLP=0 and CLP=1, are policed by the first policer; but
  5263.  
  5264.  
  5265.  
  5266. Newman, et. al.              Informational                     [Page 94]
  5267.  
  5268. RFC 2297          Ipsilon's General Switch Management         March 1998
  5269.  
  5270.  
  5271.              only cells with CLP=0 are subject to policing by the second
  5272.              policer. Either tagging or discard may be specified for
  5273.              each of the policer configurations.
  5274.  
  5275.         A: Action
  5276.              If the Action flag is zero, discard is required as the
  5277.              policing action. If the Action flag is set, tagging is
  5278.              required as the policing action.
  5279.  
  5280.              If tagging is selected in the All Cells configuration, any
  5281.              cell with CLP=0 in either policer, that the policer
  5282.              determines to be in excess of the specified policer
  5283.              parameters, will be changed to CLP=1. If discard is
  5284.              selected in the All Cells configuration, any cell (CLP=0 or
  5285.              CLP=1) in either policer, that the policer determines to be
  5286.              in excess of the specified policer parameters, will be
  5287.              discarded.
  5288.  
  5289.              In the CLP Selective configuration, the first policer is
  5290.              always set to discard any cell (CLP=0 or CLP=1) that it
  5291.              determines to be in excess of its specified policer
  5292.              parameters. If tagging is selected in the CLP Selective
  5293.              configuration, the second policer will change the CLP bit
  5294.              to CLP=1 of any cell that it determines to be in excess of
  5295.              its specified parameters. If discard is selected in the CLP
  5296.              Selective configuration, the second policer will discard
  5297.              any cell that it determines to be in excess of its
  5298.              specified parameters.
  5299.  
  5300.              To configure the policer for the conformance definitions
  5301.              specified by the ATM Forum [af-tm-0056] the following
  5302.              configurations are suggested:
  5303.  
  5304.                 CBR.1:   One policer,     All Cells,        Discard
  5305.                 VBR.1:   Two policers,    All Cells,        Discard
  5306.                 VBR.2:   Two policers,    CLP Selective,    Discard
  5307.                 VBR.3:   Two policers,    CLP Selective,    Tagging
  5308.                 UBR.1:   One policer,     All Cells,        Discard
  5309.                 UBR.2:   One policer,     All Cells,        Tagging.
  5310.  
  5311.         x: Unused
  5312.  
  5313.    Regulator Parameters
  5314.              Only connections of style "QoS Connection" require the
  5315.              Regulator Parameters to be specified in the QoS Connection
  5316.              Management message. For connections of style "QoS Class
  5317.              Connection" and "QoS Class Member" the Regulator Parameters
  5318.              are specified in the QoS Class Establishment message.
  5319.  
  5320.  
  5321.  
  5322. Newman, et. al.              Informational                     [Page 95]
  5323.  
  5324. RFC 2297          Ipsilon's General Switch Management         March 1998
  5325.  
  5326.  
  5327.              The Regulator Parameters are specified in a similar manner
  5328.              to the UPC parameters. If the regulator function is
  5329.              specified as Policing, a single GCRA policer is applied to
  5330.              all cells (both CLP=0 and CLP=1) on the connection. The
  5331.              policer takes two parameters: an increment, the Regulator
  5332.              Increment, and a limit, the Regulator Limit. The reciprocal
  5333.              of the increment (1/I) specifies the rate being policed.
  5334.              The limit (L) specifies the burst tolerance. (For
  5335.              comparison with the token bucket policer discussed in
  5336.              [Partridge], the size of the token bucket is given by L/I.)
  5337.  
  5338.              The Regulator Increment and Regulator Limit parameters are
  5339.              32-bit unsigned integers. Their values are determined in
  5340.              terms of the Scaling Factor specified by the switch in the
  5341.              QoS Configuration Parameters message. To determine the
  5342.              value of the Regulator Increment parameter from the desired
  5343.              policed rate given in cells per second:
  5344.  
  5345.                 Regulator Increment = (Scaling_Factor)/(policed_rate)
  5346.  
  5347.              For a policed rate (r) the GCRA policer guarantees that
  5348.              over any time period T the amount of traffic determined by
  5349.              the policer to be conforming to the traffic parameters does
  5350.              not exceed:
  5351.  
  5352.                 rT + L/I
  5353.  
  5354.              The value of the Regulator Limit may be determined from
  5355.              this relation.
  5356.  
  5357.              If the regulator function is specified as Shaping, only the
  5358.              Regulator Increment parameter is used. The Regulator Limit
  5359.              parameter is not used. The value of the Regulator Increment
  5360.              parameter is determined in terms of the Scaling Factor
  5361.              specified by the switch in the QoS Configuration Parameters
  5362.              message. To determine the value of the Regulator Increment
  5363.              parameter from the desired shaper rate, given in cells per
  5364.              second, on output from the shaper:
  5365.  
  5366.                 Regulator Increment = (Scaling_Factor)/(shaper_rate)
  5367.  
  5368.              An Increment value of zero is used to disable the policer.
  5369.              In this case all cells on that connection will be
  5370.              considered to conform to the policer traffic parameters. A
  5371.              shaper given a Regulator Increment parameter of zero will
  5372.              perform no shaping function on that connection.
  5373.  
  5374.    The Regulator Parameters have the following format:
  5375.  
  5376.  
  5377.  
  5378. Newman, et. al.              Informational                     [Page 96]
  5379.  
  5380. RFC 2297          Ipsilon's General Switch Management         March 1998
  5381.  
  5382.  
  5383.     0                   1                   2                   3
  5384.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  5385.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5386.    |                      Regulator Increment                      |
  5387.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5388.    |                        Regulator Limit                        |
  5389.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5390.  
  5391. 9.7 QoS Failure Response Codes
  5392.  
  5393.    A failure response message is formed by returning the request message
  5394.    that caused the failure with the Result field in the header
  5395.    indicating failure (Result = 4) and the Code field giving the failure
  5396.    code. The failure code specifies the reason for the switch being
  5397.    unable to satisfy the request message.  The following additional
  5398.    failure codes are defined for use in response to QoS messages.
  5399.    General failure codes are specified in Section 3.2, Failure Response
  5400.    Messages.
  5401.  
  5402.        128: Weighted scheduling within this waiting room is unavailable.
  5403.        129: This waiting room is unable to offer weighted sharing for a
  5404.               QoS class.
  5405.        130: This waiting room is unable to offer weighted sharing for a
  5406.               connection.
  5407.        131: Scheduler Identifier still in use.
  5408.        132: QoS Class Identifier still in use.
  5409.        133: Invalid QoS parameter.
  5410.        134: Insufficient QoS resources.
  5411.        135: Any point-to-multipoint connection arriving on this input
  5412.               port must use the same QoS parameters for all output
  5413.               branches.
  5414.  
  5415.  
  5416. 10. Adjacency Protocol
  5417.  
  5418.    The adjacency protocol is used to synchronize state across the link,
  5419.    to agree on which version of the protocol to use, to discover the
  5420.    identity of the entity at the other end of a link, and to detect when
  5421.    it changes. GSMP is a hard state protocol.  It is therefore important
  5422.    to detect loss of contact between switch and controller, and to
  5423.    detect any change of identity of switch or controller.  No GSMP
  5424.    messages other than those of the adjacency protocol may be sent
  5425.    across the link until the adjacency protocol has achieved
  5426.    synchronization.
  5427.  
  5428.  
  5429.  
  5430.  
  5431.  
  5432.  
  5433.  
  5434. Newman, et. al.              Informational                     [Page 97]
  5435.  
  5436. RFC 2297          Ipsilon's General Switch Management         March 1998
  5437.  
  5438.  
  5439. 10.1 Packet Format
  5440.  
  5441.    All GSMP messages belonging to the adjacency protocol have the
  5442.    following structure:
  5443.  
  5444.     0                   1                   2                   3
  5445.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  5446.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5447.    |    Version    | Message Type  |     Timer     |M|     Code    |
  5448.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5449.    |                          Sender Name                          |
  5450.    +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5451.    |                               |                               |
  5452.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
  5453.    |                         Receiver Name                         |
  5454.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5455.    |                          Sender Port                          |
  5456.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5457.    |                         Receiver Port                         |
  5458.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5459.    |                        Sender Instance                        |
  5460.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5461.    |                       Receiver Instance                       |
  5462.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  5463.  
  5464.    Version
  5465.              In the adjacency protocol the Version field is used for
  5466.              version negotiation.  In a SYN message the Version field
  5467.              always contains the highest version understood by the
  5468.              sender.  A receiver receiving a SYN message with a version
  5469.              higher than understood will ignore that message.  A
  5470.              receiver receiving a SYN message with a version lower than
  5471.              its own highest version, but a version that it understands,
  5472.              will reply with a SYNACK with the version from the received
  5473.              SYN in its GSMP Version field. This defines the version of
  5474.              the GSMP protocol to be used while the adjacency protocol
  5475.              remains synchronized. All other messages will use the
  5476.              agreed version in the Version field.
  5477.  
  5478.              The version number for the version of the GSMP protocol
  5479.              defined by this specification is Version = 2.
  5480.  
  5481.    Message Type
  5482.              The adjacency protocol is:
  5483.  
  5484.                 Message Type = 10
  5485.  
  5486.  
  5487.  
  5488.  
  5489.  
  5490. Newman, et. al.              Informational                     [Page 98]
  5491.  
  5492. RFC 2297          Ipsilon's General Switch Management         March 1998
  5493.  
  5494.  
  5495.    Timer
  5496.              The Timer field is used to inform the receiver of the timer
  5497.              value used in the adjacency protocol of the sender. The
  5498.              timer specifies the nominal time between periodic adjacency
  5499.              protocol messages. It is a constant for the duration of a
  5500.              GSMP session. The timer field is specified in units of
  5501.              100ms.
  5502.  
  5503.    M-Flag
  5504.              The M-Flag is used in the SYN message to indicate whether
  5505.              the sender is a master or a slave. If the M-Flag is set in
  5506.              the SYN message, the sender is a master.  If zero, the
  5507.              sender is a slave. The GSMP protocol is asymmetric, the
  5508.              controller being the master and the switch being the slave.
  5509.              The M-Flag prevents a master from synchronizing with
  5510.              another master, or a slave with another slave. If a slave
  5511.              receives a SYN message with a zero M-Flag, it must ignore
  5512.              that SYN message. If a master receives a SYN message with
  5513.              the M-Flag set, it must ignore that SYN message. In all
  5514.              other messages the M-Flag is not used.
  5515.  
  5516.    Code
  5517.              Field specifies the function of the message. Four Codes are
  5518.              defined for the adjacency protocol:
  5519.  
  5520.                 SYN:     Code = 1
  5521.                 SYNACK:  Code = 2
  5522.                 ACK:     Code = 3
  5523.                 RSTACK:  Code = 4.
  5524.  
  5525.    Sender Name
  5526.              For the SYN, SYNACK, and ACK messages, is the name of the
  5527.              entity sending the message. The Sender Name is a 48-bit
  5528.              quantity that is unique within the operational context of
  5529.              the device. A 48-bit IEEE 802 MAC address, if available,
  5530.              may be used for the Sender Name. If the Ethernet
  5531.              encapsulation is used the Sender Name must be the Source
  5532.              Address from the MAC header.  For the RSTACK message, the
  5533.              Sender Name field is set to the value of the Receiver Name
  5534.              field from the incoming message that caused the RSTACK
  5535.              message to be generated.
  5536.  
  5537.    Receiver Name
  5538.              For the SYN, SYNACK, and ACK messages, is the name of the
  5539.              entity that the sender of the message believes is at the
  5540.              far end of the link. If the sender of the message does not
  5541.              know the name of the entity at the far end of the link,
  5542.              this field should be set to zero. For the RSTACK message,
  5543.  
  5544.  
  5545.  
  5546. Newman, et. al.              Informational                     [Page 99]
  5547.  
  5548. RFC 2297          Ipsilon's General Switch Management         March 1998
  5549.  
  5550.  
  5551.              the Receiver Name field is set to the value of the Sender
  5552.              Name field from the incoming message that caused the RSTACK
  5553.              message to be generated.
  5554.  
  5555.    Sender Port
  5556.              For the SYN, SYNACK, and ACK messages, is the local port
  5557.              number of the link across which the message is being sent.
  5558.              For the RSTACK message, the Sender Port field is set to the
  5559.              value of the Receiver Port field from the incoming message
  5560.              that caused the RSTACK message to be generated.
  5561.  
  5562.    Receiver Port
  5563.              For the SYN, SYNACK, and ACK messages, is what the sender
  5564.              believes is the local port number for the link, allocated
  5565.              by the entity at the far end of the link.  If the sender of
  5566.              the message does not know the port number at the far end of
  5567.              the link, this field should be set to zero. For the RSTACK
  5568.              message, the Receiver Port field is set to the value of the
  5569.              Sender Port field from the incoming message that caused the
  5570.              RSTACK message to be generated.
  5571.  
  5572.    Sender Instance
  5573.              For the SYN, SYNACK, and ACK messages, is the sender's
  5574.              instance number for the link. It is used to detect when the
  5575.              link comes back up after going down or when the identity of
  5576.              the entity at the other end of the link changes. The
  5577.              instance number is a 32-bit number that is guaranteed to be
  5578.              unique within the recent past and to change when the link
  5579.              or node comes back up after going down. Zero is not a valid
  5580.              instance number. For the RSTACK message, the Sender
  5581.              Instance field is set to the value of the Receiver Instance
  5582.              field from the incoming message that caused the RSTACK
  5583.              message to be generated.
  5584.  
  5585.    Receiver Instance
  5586.              For the SYN, SYNACK, and ACK messages, is what the sender
  5587.              believes is the current instance number for the link,
  5588.              allocated by the entity at the far end of the link. If the
  5589.              sender of the message does not know the current instance
  5590.              number at the far end of the link, this field should be set
  5591.              to zero. For the RSTACK message, the Receiver Instance
  5592.              field is set to the value of the Sender Instance field from
  5593.              the incoming message that caused the RSTACK message to be
  5594.              generated.
  5595.  
  5596.  
  5597.  
  5598.  
  5599.  
  5600.  
  5601.  
  5602. Newman, et. al.              Informational                    [Page 100]
  5603.  
  5604. RFC 2297          Ipsilon's General Switch Management         March 1998
  5605.  
  5606.  
  5607. 10.2 Procedure
  5608.  
  5609.    The adjacency protocol is described by the following rules and state
  5610.    tables.
  5611.  
  5612.    The rules and state tables use the following operations:
  5613.  
  5614.     o The "Update Peer Verifier" operation is defined as storing the
  5615.       values of the Sender Instance, Sender Port, and Sender Name fields
  5616.       from a SYN or SYNACK message received from the entity at the far
  5617.       end of the link.
  5618.  
  5619.     o The procedure "Reset the link" is defined as:
  5620.  
  5621.           1. Generate a new instance number for the link
  5622.           2. Delete the peer verifier (set to zero the values of Sender
  5623.              Instance, Sender Port, and Sender Name previously stored by
  5624.              the Update Peer Verifier operation)
  5625.           3. Send a SYN message
  5626.           4. Enter the SYNSENT state.
  5627.  
  5628.     o The state tables use the following Boolean terms and operators:
  5629.  
  5630.         A    The Sender Instance in the incoming message matches the
  5631.              value stored from a previous message by the "Update Peer
  5632.              Verifier" operation.
  5633.  
  5634.         B    The Sender Instance, Sender Port, and Sender Name fields in
  5635.              the incoming message match the values stored from a
  5636.              previous message by the "Update Peer Verifier" operation.
  5637.  
  5638.         C    The Receiver Instance, Receiver Port, and Receiver Name
  5639.              fields in the incoming message match the values of the
  5640.              Sender Instance, Sender Port, and Sender Name currently
  5641.              sent in outgoing SYN, SYNACK, and ACK messages.
  5642.  
  5643.         "&&" Represents the logical AND operation
  5644.  
  5645.         "||" Represents the logical OR operation
  5646.  
  5647.         "!" Represents the logical negation (NOT) operation.
  5648.  
  5649.     o A timer is required for the periodic generation of SYN, SYNACK,
  5650.       and ACK messages. The value of the timer is announced in the Timer
  5651.       field.  The period of the timer is unspecified but a value of one
  5652.       second is suggested.
  5653.  
  5654.  
  5655.  
  5656.  
  5657.  
  5658. Newman, et. al.              Informational                    [Page 101]
  5659.  
  5660. RFC 2297          Ipsilon's General Switch Management         March 1998
  5661.  
  5662.  
  5663.       There are two independent events: the timer expires, and a packet
  5664.       arrives. The processing rules for these events are:
  5665.  
  5666.          Timer Expires:   Reset Timer
  5667.                           If state = SYNSENT Send SYN
  5668.                           If state = SYNRCVD Send SYNACK
  5669.                           If state = ESTAB   Send ACK
  5670.  
  5671.           Packet Arrives:
  5672.               If incoming message is an RSTACK:
  5673.                   If (A && C && !SYNSENT) Reset the link
  5674.                   Else Discard the message.
  5675.               If incoming message is a SYN, SYNACK, or ACK:
  5676.                   Response defined by the following State Tables.
  5677.               If incoming message is any other GSMP message and state !=
  5678.                   ESTAB:
  5679.                   Discard incoming message.
  5680.                   If state = SYNSENT Send SYN (Note 1)
  5681.                   If state = SYNRCVD Send SYNACK (Note 1)
  5682.  
  5683.               Note 1: No more than two SYN or SYNACK messages should be
  5684.               sent within any time period of length defined by the
  5685.               timer.
  5686.  
  5687.     o State synchronization across a link is considered to be achieved
  5688.       when the protocol reaches the ESTAB state. All GSMP messages,
  5689.       other than adjacency protocol messages, that are received before
  5690.       synchronization is achieved will be discarded.
  5691.  
  5692. State Tables
  5693.  
  5694. State: SYNSENT
  5695.  
  5696. +======================================================================+
  5697. |     Condition      |                Action               | New State |
  5698. +====================+=====================================+===========+
  5699. |    SYNACK && C     |  Update Peer Verifier; Send ACK     |   ESTAB   |
  5700. +--------------------+-------------------------------------+-----------+
  5701. |    SYNACK && !C    |            Send RSTACK              |  SYNSENT  |
  5702. +--------------------+-------------------------------------+-----------+
  5703. |        SYN         |  Update Peer Verifier; Send SYNACK  |  SYNRCVD  |
  5704. +--------------------+-------------------------------------+-----------+
  5705. |        ACK         |            Send RSTACK              |  SYNSENT  |
  5706. +======================================================================+
  5707.  
  5708.  
  5709.  
  5710.  
  5711.  
  5712.  
  5713.  
  5714. Newman, et. al.              Informational                    [Page 102]
  5715.  
  5716. RFC 2297          Ipsilon's General Switch Management         March 1998
  5717.  
  5718.  
  5719. State: SYNRCVD
  5720.  
  5721. +======================================================================+
  5722. |     Condition      |                Action               | New State |
  5723. +====================+=====================================+===========+
  5724. |    SYNACK && C     |  Update Peer Verifier; Send ACK     |   ESTAB   |
  5725. +--------------------+-------------------------------------+-----------+
  5726. |    SYNACK && !C    |            Send RSTACK              |  SYNRCVD  |
  5727. +--------------------+-------------------------------------+-----------+
  5728. |        SYN         |  Update Peer Verifier; Send SYNACK  |  SYNRCVD  |
  5729. +--------------------+-------------------------------------+-----------+
  5730. |   ACK && B && C    |              Send ACK               |   ESTAB   |
  5731. +--------------------+-------------------------------------+-----------+
  5732. |  ACK && !(B && C)  |            Send RSTACK              |  SYNRCVD  |
  5733. +======================================================================+
  5734.  
  5735.  
  5736. State: ESTAB
  5737.  
  5738. +======================================================================+
  5739. |     Condition      |                Action               | New State |
  5740. +====================+=====================================+===========+
  5741. |   SYN || SYNACK    |           Send ACK (note 2)         |   ESTAB   |
  5742. +--------------------+-------------------------------------+-----------+
  5743. |   ACK && B && C    |           Send ACK (note 3)         |   ESTAB   |
  5744. +--------------------+-------------------------------------+-----------+
  5745. |  ACK && !(B && C)  |              Send RSTACK            |   ESTAB   |
  5746. +======================================================================+
  5747.  
  5748.    Note 2: No more than two ACKs should be sent within any time period
  5749.    of length defined by the timer. Thus, one ACK must be sent every time
  5750.    the timer expires. In addition, one further ACK may be sent between
  5751.    timer expirations if the incoming message is a SYN or SYNACK. This
  5752.    additional ACK allows the adjacency protocol to reach synchronization
  5753.    more quickly.
  5754.  
  5755.    Note 3: No more than one ACK should be sent within any time period of
  5756.    length defined by the timer.
  5757.  
  5758. 10.3 Loss of Synchronization
  5759.  
  5760.    If after synchronization is achieved, no valid GSMP messages are
  5761.    received in any period of time in excess of three times the value of
  5762.    the Timer field announced in the incoming adjacency protocol
  5763.    messages, loss of synchronization may be declared.
  5764.  
  5765.    The preferred procedure for a switch to use when it looses
  5766.    synchronization with its active controller is to attempt to establish
  5767.  
  5768.  
  5769.  
  5770. Newman, et. al.              Informational                    [Page 103]
  5771.  
  5772. RFC 2297          Ipsilon's General Switch Management         March 1998
  5773.  
  5774.  
  5775.    synchronization with (one of) its backup controller(s).  However, in
  5776.    this preferred approach, it must not reset its state until it
  5777.    achieves synchronization with a backup controller.  This means that
  5778.    if, before achieving synchronization with a backup controller, it
  5779.    regains synchronization with its original controller, it may continue
  5780.    the original session (and cease attempting to establish
  5781.    synchronization with a backup controller). If synchronization with
  5782.    the original session is regained it is the responsibility of the
  5783.    controller to ensure consistent state between the switch and
  5784.    controller.
  5785.  
  5786.    While the above is the preferred procedure, it is also the case that
  5787.    the simplest procedure when declaring loss of synchronization with
  5788.    the active controller is to reset the switch state, and start
  5789.    searching for a controller.  This simple procedure is legitimate.
  5790.  
  5791. 11. Summary of Failure Response Codes
  5792.  
  5793.    The following list gives a summary of the failure codes defined for
  5794.    failure response messages:
  5795.  
  5796.         1: Unspecified reason not covered by other failure codes.
  5797.         2: Invalid request message.
  5798.         3: The specified request is not implemented on this switch.
  5799.         4: Invalid Port Session Number.
  5800.         5: One or more of the specified ports does not exist.
  5801.         6: One or more of the specified ports is down.
  5802.         7: Unused. (This failure code has been replaced by failure codes
  5803.              18--21.)
  5804.         8: The specified connection does not exist.
  5805.         9: The specified branch does not exist.
  5806.        10: A branch belonging to the specified point-to-multipoint
  5807.              connection is already established on the specified output
  5808.              port and the switch cannot support more than a single
  5809.              branch of any point-to-multipoint connection on the same
  5810.              output port.
  5811.        11: The limit on the maximum number of point-to-multipoint
  5812.              connections that the switch can support has been reached.
  5813.        12: The limit on the maximum number of branches that the
  5814.              specified point-to-multipoint connection can support has
  5815.              been reached.
  5816.        13: Unable to assign the requested VPI/VCI value to the requested
  5817.              branch on the specified point-to-multipoint connection.
  5818.        14: General problem related to the manner in which point-to-
  5819.              multipoint is supported by the switch.
  5820.        15: Out of resources (e.g. memory exhausted, etc.).
  5821.        16: Failure specific to the particular message type. (The meaning
  5822.              of this failure code depends upon the Message Type. It is
  5823.  
  5824.  
  5825.  
  5826. Newman, et. al.              Informational                    [Page 104]
  5827.  
  5828. RFC 2297          Ipsilon's General Switch Management         March 1998
  5829.  
  5830.  
  5831.              defined within the description of any message that uses
  5832.              it.)
  5833.        17: Cannot label each output branch of a point-to-multipoint tree
  5834.              with a different label.
  5835.        18: One or more of the specified input VPIs is invalid.
  5836.        19: One or more of the specified input VCIs is invalid.
  5837.        20: One or more of the specified output VPIs is invalid.
  5838.        21: One or more of the specified output VCIs is invalid.
  5839.        22: Invalid Class of Service field in a Connection Management
  5840.              message.
  5841.        23: Insufficient resources for QoS Profile.
  5842.        24: Virtual path switching is not supported on this input port.
  5843.        25: Point-to-multipoint virtual path connections are not
  5844.              supported on either the requested input port or the
  5845.              requested output port.
  5846.        26: Attempt to add a virtual path connection branch to an
  5847.              existing virtual channel connection.
  5848.        27: Attempt to add a virtual channel connection branch to an
  5849.              existing virtual path connection.
  5850.        28: Only point-to-point bidirectional connections may be
  5851.              established.
  5852.        29: Cannot support requested VPI range.
  5853.        30: Cannot support requested VCI range on all requested VPIs.
  5854.        31: The transmit cell rate of this output port cannot be changed.
  5855.        32: Requested transmit cell rate out of range for this output
  5856.              port.
  5857.       128: Weighted scheduling within this waiting room is unavailable.
  5858.       129: This waiting room is unable to offer weighted sharing for a
  5859.              QoS class.
  5860.       130: This waiting room is unable to offer weighted sharing for a
  5861.              connection.
  5862.       131: Scheduler Identifier still in use.
  5863.       132: QoS Class Identifier still in use.
  5864.       133: Invalid QoS parameter.
  5865.       134: Insufficient QoS resources.
  5866.       135: Any point-to-multipoint connection arriving on this input
  5867.              port must use the same QoS parameters for all output
  5868.              branches.
  5869.  
  5870.  
  5871. 12. Summary of Message Set
  5872.  
  5873.    The following table gives a summary of the messages defined in this
  5874.    version of the specification. It also indicates which messages must
  5875.    be supported in a minimal implementation of the protocol. Those
  5876.    messages marked as "Required" must be supported by the switch for an
  5877.    implementation to be considered to conform to this specification.
  5878.    (While the controller should also implement those messages marked
  5879.  
  5880.  
  5881.  
  5882. Newman, et. al.              Informational                    [Page 105]
  5883.  
  5884. RFC 2297          Ipsilon's General Switch Management         March 1998
  5885.  
  5886.  
  5887.    "Required," conformance cannot be tested for the controller due to
  5888.    the Master-Slave nature of the protocol.)
  5889.  
  5890.        Message Name                Message Type    Status
  5891.  
  5892.    Connection Management Messages
  5893.        Add Branch VCC....................16        Required
  5894.                   VPC....................26
  5895.        Delete Tree.......................18
  5896.        Delete All........................20
  5897.        Delete Branches...................17        Required
  5898.        Move Branch VCC...................22
  5899.                    VPC...................27
  5900.  
  5901.    Port Management Messages
  5902.        Port Management...................32        Required
  5903.        Label Range.......................33
  5904.  
  5905.    State and Statistics Messages
  5906.        Connection Activity...............48
  5907.        Port Statistics...................49        Required
  5908.        Connection Statistics.............50
  5909.        QoS Class Statistics..............51
  5910.        Report Connection State...........52
  5911.  
  5912.    Configuration Messages
  5913.        Switch Configuration..............64        Required
  5914.        Port Configuration................65        Required
  5915.        All Ports Configuration...........66        Required
  5916.  
  5917.    Event Messages
  5918.        Port Up...........................80
  5919.        Port Down.........................81
  5920.        Invalid VPI/VCI...................82
  5921.        New Port..........................83
  5922.        Dead Port.........................84
  5923.  
  5924.    Quality of Service Messages
  5925.        QoS Configuration.................96
  5926.        Scheduler Establishment...........97
  5927.        QoS Class Establishment...........98
  5928.        QoS Release.......................99
  5929.        QoS Connection Management VCC....100
  5930.                                  VPC....101
  5931.  
  5932.    Adjacency Protocol....................10        Required
  5933.  
  5934.  
  5935.  
  5936.  
  5937.  
  5938. Newman, et. al.              Informational                    [Page 106]
  5939.  
  5940. RFC 2297          Ipsilon's General Switch Management         March 1998
  5941.  
  5942.  
  5943. REFERENCES
  5944.  
  5945.    [af-tm-0056] ATM Forum Traffic Management Specification 4.0, af-tm-
  5946.                 0056.000, April 1996.
  5947.  
  5948.    [I.361]      "B-ISDN ATM Layer Specification," International
  5949.                 Telecommunication Union, ITU-T Recommendation I.361,
  5950.                 Mar. 1993.
  5951.  
  5952.    [I.363]      "B-ISDN ATM Adaptation Layer (AAL) Specification,"
  5953.                 International Telecommunication Union, ITU-T
  5954.                 Recommendation I.363, Mar. 1993.
  5955.  
  5956.    [IpsilonMIB] Ipsilon IP Switch MIB,
  5957.                 http://www.ipsilon.com/products/ips.mib
  5958.  
  5959.    [Partridge]  C. Partridge, "Gigabit Networking," Addison-Wesley,
  5960.                 1994.
  5961.  
  5962.    [RFC1700]    Reynolds, J., and J. Postel, "Assigned Numbers," STD 2,
  5963.                 RFC 1700, October 1994.
  5964.  
  5965.    [RFC1987]    Newman, P, Edwards, W., hinden, R., Hoffman, E. Ching
  5966.                 Liaw, F., Lyon, T. and G. Minshall, "Ipsilon's General
  5967.                 Switch Management Protocol Specification," Version 1.1,
  5968.                 RFC 1987, August 1996.
  5969.  
  5970.  
  5971. SECURITY CONSIDERATIONS
  5972.  
  5973.    Physical security on the control link connecting the controller to
  5974.    the switch is assumed. Security issues are not discussed in this
  5975.    document.
  5976.  
  5977.  
  5978. AUTHORS' ADDRESSES
  5979.  
  5980.    Peter Newman                        Phone: +1 (408) 990 2003
  5981.    Nokia                               EMail: pn@ipsilon.com
  5982.  
  5983.    W. L. Edwards, Chief Scientist      Phone: +1 (913) 534 5334
  5984.    Sprint                              EMail: texas@sprintcorp.com
  5985.  
  5986.    Robert M. Hinden                    Phone: +1 (408) 990 2004
  5987.    Nokia                               EMail: hinden@ipsilon.com
  5988.  
  5989.    Eric Hoffman                        Phone: +1 (408) 990 2010
  5990.    Nokia                               EMail: hoffman@ipsilon.com
  5991.  
  5992.  
  5993.  
  5994. Newman, et. al.              Informational                    [Page 107]
  5995.  
  5996. RFC 2297          Ipsilon's General Switch Management         March 1998
  5997.  
  5998.  
  5999.    Fong Ching Liaw                     Phone: +1 (408) 873 2688
  6000.    Coppercom                           EMail: fong@coppercom.com
  6001.  
  6002.    Tom Lyon                            Phone: +1 (408) 990 2001
  6003.    Nokia                               EMail: pugs@ipsilon.com
  6004.  
  6005.    Greg Minshall                       Phone: +1 (650) 237 3164
  6006.    Fiberlane Communications            EMail: minshall@fiberlane.com
  6007.  
  6008. Nokia (Sunnyvale) is located at:
  6009.  
  6010.    232 Java Drive
  6011.    Sunnyvale, CA 94089
  6012.    USA
  6013.  
  6014. Sprint is located at:
  6015.  
  6016.    Sprint
  6017.    Sprint Technology Services - Long Distance Division
  6018.    9300 Metcalf Avenue
  6019.    Mailstop KSOPKB0802
  6020.    Overland Park, KS 66212-6333
  6021.    USA
  6022.  
  6023. Fiberlane Communications is located at:
  6024.  
  6025.    1399 Charleston Road
  6026.    Mountain View, CA 94043
  6027.    USA
  6028.  
  6029.  
  6030.  
  6031.  
  6032.  
  6033.  
  6034.  
  6035.  
  6036.  
  6037.  
  6038.  
  6039.  
  6040.  
  6041.  
  6042.  
  6043.  
  6044.  
  6045.  
  6046.  
  6047.  
  6048.  
  6049.  
  6050. Newman, et. al.              Informational                    [Page 108]
  6051.  
  6052. RFC 2297          Ipsilon's General Switch Management         March 1998
  6053.  
  6054.  
  6055. Full Copyright Statement
  6056.  
  6057.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  6058.  
  6059.    This document and translations of it may be copied and furnished to
  6060.    others, and derivative works that comment on or otherwise explain it
  6061.    or assist in its implementation may be prepared, copied, published
  6062.    and distributed, in whole or in part, without restriction of any
  6063.    kind, provided that the above copyright notice and this paragraph are
  6064.    included on all such copies and derivative works.  However, this
  6065.    document itself may not be modified in any way, such as by removing
  6066.    the copyright notice or references to the Internet Society or other
  6067.    Internet organizations, except as needed for the purpose of
  6068.    developing Internet standards in which case the procedures for
  6069.    copyrights defined in the Internet Standards process must be
  6070.    followed, or as required to translate it into languages other than
  6071.    English.
  6072.  
  6073.    The limited permissions granted above are perpetual and will not be
  6074.    revoked by the Internet Society or its successors or assigns.
  6075.  
  6076.    This document and the information contained herein is provided on an
  6077.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  6078.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  6079.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  6080.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  6081.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  6082.  
  6083.  
  6084.  
  6085.  
  6086.  
  6087.  
  6088.  
  6089.  
  6090.  
  6091.  
  6092.  
  6093.  
  6094.  
  6095.  
  6096.  
  6097.  
  6098.  
  6099.  
  6100.  
  6101.  
  6102.  
  6103.  
  6104.  
  6105.  
  6106. Newman, et. al.              Informational                    [Page 109]
  6107.  
  6108.